简介:在IAR下开发不会自动生成stm8_interrupt_vector.c文件,但是在STVD下会产生该文件,并生成中断向量表 _vectab ,如果要使用stm8_it.c中的函数结构文件来处理中断函数则需要用以下代码替换生成的stm8_interrupt_vector.c。

/* BASIC INTERRUPT VECTORS TABLE FOR STM8 devices* Copyright (c) 2011 STMicroelectronics*/#include "stm8s_it.h"typedef void @far (*interrupt_handler_t)(void);struct interrupt_vector {u8 interrupt_instruction;interrupt_handler_t interrupt_handler;
};struct interrupt_vector const _vectab[] = {{0x82, (interrupt_handler_t)_stext}, /* RESET */{0x82, (interrupt_handler_t)TRAP_IRQHandler}, /* TRAP - Software interrupt */{0x82, (interrupt_handler_t)TLI_IRQHandler}, /* irq0 - External Top Level interrupt (TLI) */{0x82, (interrupt_handler_t)AWU_IRQHandler}, /* irq1 - Auto Wake Up from Halt interrupt */{0x82, (interrupt_handler_t)CLK_IRQHandler}, /* irq2 - Clock Controller interrupt */{0x82, (interrupt_handler_t)EXTI_PORTA_IRQHandler}, /* irq3 - External interrupt 0 (GPIOA) */{0x82, (interrupt_handler_t)EXTI_PORTB_IRQHandler}, /* irq4 - External interrupt 1 (GPIOB) */{0x82, (interrupt_handler_t)EXTI_PORTC_IRQHandler}, /* irq5 - External interrupt 2 (GPIOC) */{0x82, (interrupt_handler_t)EXTI_PORTD_IRQHandler}, /* irq6 - External interrupt 3 (GPIOD) */{0x82, (interrupt_handler_t)EXTI_PORTE_IRQHandler}, /* irq7 - External interrupt 4 (GPIOE) */#if defined (STM8S208) || defined (STM8AF52Ax){0x82, (interrupt_handler_t)CAN_RX_IRQHandler}, /* irq8 - CAN Rx interrupt */{0x82, (interrupt_handler_t)CAN_TX_IRQHandler}, /* irq9 - CAN Tx/ER/SC interrupt */
#elif defined (STM8S903){0x82, (interrupt_handler_t)EXTI_PORTF_IRQHandler}, /* irq8 - External interrupt 5 (GPIOF) */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
#else /*STM8S207, STM8S105 or STM8AF62Ax or STM8AF626x*/{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq8 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
#endif /* STM8S208 or STM8AF52Ax */{0x82, (interrupt_handler_t)SPI_IRQHandler}, /* irq10 - SPI End of transfer interrupt */{0x82, (interrupt_handler_t)TIM1_UPD_OVF_TRG_BRK_IRQHandler}, /* irq11 - TIM1 Update/Overflow/Trigger/Break interrupt */{0x82, (interrupt_handler_t)TIM1_CAP_COM_IRQHandler}, /* irq12 - TIM1 Capture/Compare interrupt */#ifdef STM8S903{0x82, (interrupt_handler_t)TIM5_UPD_OVF_BRK_TRG_IRQHandler}, /* irq13 - TIM5 Update/Overflow/Break/Trigger interrupt  */{0x82, (interrupt_handler_t)TIM5_CAP_COM_IRQHandler}, /* irq14 - TIM5 Capture/Compare interrupt */#else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x*/{0x82, (interrupt_handler_t)TIM2_UPD_OVF_BRK_IRQHandler}, /* irq13 - TIM2 Update/Overflow/Break interrupt  */{0x82, (interrupt_handler_t)TIM2_CAP_COM_IRQHandler}, /* irq14 - TIM2 Capture/Compare interrupt */
#endif /*STM8S903*/#if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \defined(STM8S005) ||  defined(STM8AF52Ax) || defined(STM8AF62Ax) || defined(STM8AF626x){0x82, (interrupt_handler_t)TIM3_UPD_OVF_BRK_IRQHandler}, /* irq15 - TIM3 Update/Overflow/Break interrupt */{0x82, (interrupt_handler_t)TIM3_CAP_COM_IRQHandler}, /* irq16 - TIM3 Capture/Compare interrupt */
#else{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq15 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq16 - Reserved */
#endif /*STM8S208, STM8S207, STM8S105 or STM8AF62Ax or STM8AF52Ax or STM8AF626x*/#if defined (STM8S105) || defined (STM8S005) || defined(STM8AF626x){0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq17 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq18 - Reserved */
#else{0x82, (interrupt_handler_t)UART1_TX_IRQHandler}, /* irq17 - UART1 Tx complete interrupt */{0x82, (interrupt_handler_t)UART1_RX_IRQHandler}, /* irq18 - UART1 Rx interrupt */
#endif /*STM8S105 or STM8AF626x */{0x82, (interrupt_handler_t)I2C_IRQHandler}, /* irq19 - I2C interrupt */#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8AF52Ax) || defined(STM8AF62Ax){0x82, (interrupt_handler_t)UART3_TX_IRQHandler}, /* irq20 - UART3 Tx interrupt */{0x82, (interrupt_handler_t)UART3_RX_IRQHandler}, /* irq21 - UART3 Rx interrupt */
#elif defined (STM8S105) || defined (STM8S005) || defined (STM8AF626x){0x82, (interrupt_handler_t)UART2_TX_IRQHandler}, /* irq20 - UART2 Tx interrupt */{0x82, (interrupt_handler_t)UART2_RX_IRQHandler}, /* irq21 - UART2 Rx interrupt */#else /* STM8S103, STM8S903 */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq20 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq21 - Reserved */
#endif /* STM8S208, STM8S207, STM8AF52Ax or STM8AF62Ax */#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8AF52Ax) || defined(STM8AF62Ax){0x82, (interrupt_handler_t)ADC2_IRQHandler}, /* irq22 - ADC2 end of conversion interrupt */
#else /* STM8S105, STM8S103, STM8S903 */{0x82, (interrupt_handler_t)ADC1_IRQHandler}, /* irq22 - ADC1 end of conversion/Analog watchdog interrupts */#endif /* STM8S208, STM8S207, STM8AF52Ax or STM8AF62Ax */#ifdef STM8S903{0x82, (interrupt_handler_t)TIM6_UPD_OVF_TRG_IRQHandler}, /* irq23 - TIM6 Update/Overflow/Trigger interrupt */
#else{0x82, (interrupt_handler_t)TIM4_UPD_OVF_IRQHandler}, /* irq23 - TIM4 Update/Overflow interrupt */
#endif /*STM8S903*/{0x82, (interrupt_handler_t)EEPROM_EEC_IRQHandler},  /* irq24 - FLASH interrupt */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq25 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq26 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq27 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq28 - Reserved */{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq29 - Reserved */};/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

STM8在STVD下开发所需的中断向量表模版相关推荐

  1. STVD汇编开发stm8

    STVD汇编开发stm8,调用汇编子程序asm 使用软件为stvd4.3.9版 建立工程 step1:新建项目 (图一为打开软件的界面) 新建一个文件夹来存放项目,file -> new wor ...

  2. STM8S系列学习第一周目:2.STM8S STVD下的库函数开发环境搭建

    STM8S STVD下的库函数开发环境搭建 (渝兴未到工作室) 好的!之前的我们把项目搭建的文件做好了,以后的新建项目流程差不多!STM8S系列的通用! 有什么问题或者交流建议的可以加我们的交流Q群: ...

  3. php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建

    2019独角兽企业重金招聘Python工程师标准>>> 引言 Yii1.1的搭建过程见这里.下面做少许改动,加入composer部分,使之用于Yii2. 选择Linux桌面环境Dee ...

  4. c语言stm8变量存储类型,STM8使用----STVD(COSMIC)定义变量指定其类型和位定义

    STM8使用----STVD(COSMIC)定义变量指定其类型和位定义 http://www.51hei.com/bbs/dpj-31009-1.html (出处: 单片机论坛) stm8 stvd下 ...

  5. Go语言 linux下开发 IDE -SpaceVim\NeoVim

    文章目录 Go语言 linux下开发 IDE -SpaceVim 一.NeoVim和SpaceVim区别 二.NeoVim 安装 NeoVim Neovim GitHub Copilot插件安装 常见 ...

  6. 图解Esp32/ESP8266进行组网开发所需了解的那些小概念

    图解Esp32/ESP8266进行组网开发所需了解的那些小概念 图解日程生活中常见网络操作背后的小概念 前情提要 过程中涉及的进行组网开发所需的小概念 漫画展示 预告:一个基于ESP32和ESP826 ...

  7. 在 Linux 下开发和下载8051单片机程序

    在 Linux 下开发和下载8051单片机程序 在 Linux 下需要用 sdcc 开发8051单片机程序,用 stcgal 这个 python 程序将编译好的8051单片机程序下载到裸机上. sdc ...

  8. 在Windows下开发调试PySpark

    Spark版本:2.4.0+cdh6.3.1 Spark-Windows版本:spark-2.4.0-bin-hadoop2.7 WinUtils版本:hadoop-2.7.1 Python版本:3. ...

  9. 安装Ubuntu 14.10后要做的事(下)—— 开发工具篇

    1 完善GCC环境 安装g++编译器 命令: sudo apt-get install build-essential build-essential是一套完整的软件包,它提供了编译程序必需的软件包列 ...

  10. Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材

    AndroidDevTools AndroidSDK在线更新镜像服务器 中国科学院开源协会镜像站地址: IPV4/IPV6:mirrors.opencas.cn端口:80 IPV4/IPV6:mirr ...

最新文章

  1. 多线程共享全局变量以及锁机制
  2. 从代码设计到应用开发,入坑深度学习看这本书就够了
  3. samba服务器_麒麟V10链接SAMBA服务器的方法
  4. 使用 kubeadm 创建一个 kubernetes 集群
  5. word2vec模型评估_【新书】从Word2Vec到BERT的自然语言处理嵌入进展,附下载
  6. 2016年下半年信息安全工程师考试真题含答案(上午题)
  7. 【Kafka】Kafka NIO
  8. ext4.0.7 样式兼容性
  9. 跑毒的乌龟-0 : 随机漫步
  10. 【JAVA程序设计】(C00028)基于ssm的校园二手交易平台
  11. 怎么制作html静态页面,如何做静态网页
  12. c语言 常量和变量 ppt,c语言常量与变量.ppt
  13. java -jar xxx.jar
  14. 微信支付服务器白名单,总结下我在微信支付中趟的那些坑。
  15. bada 2D游戏编程——开篇说明
  16. 创业感悟:低调务实是创业者最可贵的精神
  17. mysql精度_MySQL几种数据类型精度和标度的情况
  18. CF 513D. Social Circles 思维,贪心
  19. 2.4G无线芯片NRF24L01 驱动源码及详解
  20. 什么是环回接口(Loopback Interface、环回地址)

热门文章

  1. 国内主流短信验证码平台收费价格对比「二」:亿佰云、秒嘀科技、极光短信、华信云通信
  2. 实现搜索框(含历史搜索记录)
  3. 美国高防服务器亿速云,亿速云香港高防裸金属服务器上线,更强悍的计算性能,更安全的DDoS攻击防护...
  4. WebGL-Shader入门(3.着色器语言的限定词-参数限定词/存储限定词/精度限定词)
  5. 魔兽地图服务器修改,如何修改魔兽地图(傻瓜版)
  6. 带小数的二进制转十进制(C代码)
  7. 计算机网络知识全面讲解:理解网络协议
  8. 【Linux系列文章】安装与配置(vmware)
  9. UIPATH 下载文件
  10. 安卓模拟器最优选择+抖音检测全绕过简述