最近在测试外部中断程序void EXIT15_10_IRQHandler(void),采用贵公司提供的样例CSM32RV20_LED_Breath存在问题——EXTI->ISR & (0x1<<14) ==1(采用3V3与PA14短接的方法模拟产生中断),但不能进入EXIT15_10_IRQHandler。
其他如:
GPIO_EXIT_Init_case1(GPIOA, PIN14);
Interrupt_Level(EXIT15_10_int_ID, INT_LEVEL0);
Interrupt_Enable(EXIT15_10_int_ID);
SYS_Interrupt_Enable(); 等配置均以设置。
能否提供一个经过测试正确的外部中断样例,谢谢。
另外以下是贵公司样例CSM32RV20_LED_Breath几个程序,请确认是否存在问题,非常谢谢。
void CLIC_Init(void)//中断模式配置
{
write_csr(mtvec,(unsigned long)&trap_entry|MTVEC_CLIC_VECTORED); //模式选择3:CLIC Vectored
_REG32(CLIC2_BASE,0xc00) = 0x04;//2 bits levels
}
void Interrupt_Enable(uint8_t interrupt_ID)//CLIC使能单个中断
{
uint8_t *p_clicintie = (uint8_t)CLIC_INTIE_BASE;
p_clicintie += interrupt_ID;
*p_clicintie = 1;
}
void SYS_Interrupt_Enable(void)//CLIC开总中断
{
write_csr(mie,0x880); //机器模式外部中断 和 mtime
write_csr(mstatus,0x08); //总中断
}