新聞中心

IAR STM8工程中斷的使用

作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
IAR的工程建立比較簡(jiǎn)單,直接先建立工作區(qū)然后保存,不保存無法調(diào)試。把官方的INC放到工程目錄下,在C/C++編輯連接包含這個(gè)文件的絕對(duì)路徑(最簡(jiǎn)單的搞法)。把c文件添加進(jìn)去就可以了,它的中斷很簡(jiǎn)單你只要寫一個(gè)如下的.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)
{

}
這里面的函數(shù)和51一樣你可以放到任何文件


關(guān)鍵詞: IARSTM8工程中

評(píng)論


技術(shù)專區(qū)

關(guān)閉