IAR中断向量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IAR的工程建立比较简单,直接先建立工作区然后保存,不保存无法调试。把官方的INC 放到工程目录下,在C/C++编辑连接包含这个文件的绝对路径(最简单的搞法)。把c文件添加进去就可以了,它的中断很简单你只要写一个如下的.c文件就能用了:
中断头文件: #include
开启全局中断:__enable_interrupt();
关闭全局中断: __disable_interrupt();
#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