IAR STM8工程中断的使用(转)
来源:互联网 发布:欧美护肤品推荐知乎 编辑:程序博客网 时间:2024/05/18 17:54
IAR的工程建立比较简单,直接先建立工作区然后保存,不保存无法调试。把官方的INC放到工程目录下,在C/C++编辑连接包含这个文件的绝对路径(最简单的搞法)。把c文件添加进去就可以了,它的中断很简单你只要写一个如下的.c文件就能用了:
#pragma vector=1
__interrupt void TRAP_IRQHandler(void)
{
}
#pragma vector=2
__interrupt void TLI_IRQHandler(void)
{
}
#pragma vector=3
__interrupt void AWU_IRQHandler(void)
{
}
#pragma vector=4
__interrupt void CLK_IRQHandler(void)
{
}
#pragma vector=5
__interrupt void EXTI_PORTA_IRQHandler(void)
{
}
#pragma vector=6
__interrupt void EXTI_PORTB_IRQHandler(void)
{
}
#pragma vector=7
__interrupt void EXTI_PORTC_IRQHandler(void)
{
}
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
{
}
#pragma vector=9
__interrupt void EXTI_PORTE_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xA
__interrupt void EXTI_PORTF_IRQHandler(void)
{
}
#endif
#ifdef STM8S208
#pragma vector=0xA
__interrupt void CAN_RX_IRQHandler(void)
{
}
#pragma vector=0xB
__interrupt void CAN_TX_IRQHandler(void)
{
}
#endif
#pragma vector=0xC
__interrupt void SPI_IRQHandler(void)
{
}
#pragma vector=0xD
__interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
CleT1UPF;
PDODR->bit3=(~PDODR->bit3);
}
#pragma vector=0xE
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xF
__interrupt void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM5_CAP_COM_IRQHandler(void)
{
}
#else
#pragma vector=0xF
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM2_CAP_COM_IRQHandler(void)
{
}
#endif
#if defined (STM8S208) || defined(STM8S207) || defined(STM8S105)
#pragma vector=0x11
__interrupt void TIM3_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x12
__interrupt void TIM3_CAP_COM_IRQHandler(void)
{
}
#endif
#ifndef STM8S105
#pragma vector=0x13
__interrupt void UART1_TX_IRQHandler(void)
{
}
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)
{
}
#endif
#pragma vector=0x15
__interrupt void I2C_IRQHandler(void)
{
}
#ifdef STM8S105
#pragma vector=0x16
__interrupt void UART2_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART2_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x16
__interrupt void UART3_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART3_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x18
__interrupt void ADC2_IRQHandler(void)
{
}
#else
#pragma vector=0x18
__interrupt void ADC1_IRQHandler(void)
{
}
#endif
#ifdef STM8S903
#pragma vector=0x19
__interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
}
#else
#pragma vector=0x19
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
}
#endif
#pragma vector=0x1A
__interrupt void EEPROM_EEC_IRQHandler(void)
{
}
这里面的函数和51一样你可以放到任何文件
#pragma vector=1
__interrupt void TRAP_IRQHandler(void)
{
}
#pragma vector=2
__interrupt void TLI_IRQHandler(void)
{
}
#pragma vector=3
__interrupt void AWU_IRQHandler(void)
{
}
#pragma vector=4
__interrupt void CLK_IRQHandler(void)
{
}
#pragma vector=5
__interrupt void EXTI_PORTA_IRQHandler(void)
{
}
#pragma vector=6
__interrupt void EXTI_PORTB_IRQHandler(void)
{
}
#pragma vector=7
__interrupt void EXTI_PORTC_IRQHandler(void)
{
}
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
{
}
#pragma vector=9
__interrupt void EXTI_PORTE_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xA
__interrupt void EXTI_PORTF_IRQHandler(void)
{
}
#endif
#ifdef STM8S208
#pragma vector=0xA
__interrupt void CAN_RX_IRQHandler(void)
{
}
#pragma vector=0xB
__interrupt void CAN_TX_IRQHandler(void)
{
}
#endif
#pragma vector=0xC
__interrupt void SPI_IRQHandler(void)
{
}
#pragma vector=0xD
__interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
}
#pragma vector=0xE
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
}
#ifdef STM8S903
#pragma vector=0xF
__interrupt void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM5_CAP_COM_IRQHandler(void)
{
}
#else
#pragma vector=0xF
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x10
__interrupt void TIM2_CAP_COM_IRQHandler(void)
{
}
#endif
#if defined (STM8S208) || defined(STM8S207) || defined(STM8S105)
#pragma vector=0x11
__interrupt void TIM3_UPD_OVF_BRK_IRQHandler(void)
{
}
#pragma vector=0x12
__interrupt void TIM3_CAP_COM_IRQHandler(void)
{
}
#endif
#ifndef STM8S105
#pragma vector=0x13
__interrupt void UART1_TX_IRQHandler(void)
{
}
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)
{
}
#endif
#pragma vector=0x15
__interrupt void I2C_IRQHandler(void)
{
}
#ifdef STM8S105
#pragma vector=0x16
__interrupt void UART2_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART2_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x16
__interrupt void UART3_TX_IRQHandler(void)
{
}
#pragma vector=0x17
__interrupt void UART3_RX_IRQHandler(void)
{
}
#endif
#if defined(STM8S207) || defined(STM8S208)
#pragma vector=0x18
__interrupt void ADC2_IRQHandler(void)
{
}
#else
#pragma vector=0x18
__interrupt void ADC1_IRQHandler(void)
{
}
#endif
#ifdef STM8S903
#pragma vector=0x19
__interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
}
#else
#pragma vector=0x19
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
}
#endif
#pragma vector=0x1A
__interrupt void EEPROM_EEC_IRQHandler(void)
{
}
这里面的函数和51一样你可以放到任何文件
- IAR STM8工程中断的使用(转)
- IAR STM8工程中断的使用
- STM8建立IAR工程
- STM8中断的设置(ST Visual Develop和IAR环境下)
- 20130912-STM8在IAR环境的新建工程标准
- STM8的启动过程(基于IAR)
- IAR for STM8 使用固件库
- IAR for stm8 新建工程模板
- 20150804-IAR For STM8工程改名
- STM8 IAR中新建工程详解
- IAR for stm8使用标准固件库的方法以及注意事项
- 新买的stm8使用IAR烧录出错问题解决
- stm8中断使用
- STM8的中断
- stm8中断的学习
- IAR FOR AVR 定时器中断的使用
- IAR FOR STM8使用问题总结
- IAR调试stm8的优化设置
- TLC2543和mini2440通信的速率
- java.io.File的两个运用实例-文件的删除及树形目录
- Oracle Hints详解
- 在ubuntu11.10下安装Audacious3.1.1
- NYOJ 14 会场安排问题
- IAR STM8工程中断的使用(转)
- LINUX下编译安装PROTOBUF
- Apache2 VirtualHost 403 error
- NULL
- SQL语句分类
- 设计模式学习笔记一 简单工厂策略模式实现销售策略的变更(一)
- 杭电1003
- dom4j操作xml
- PHP Smarty 3中实现多语言模板及标签静态化的方法