【沁恒微CH32V307评估板试用体验】EXTI外部中断问题 - RISC-V MCU技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

Youzhiyu 关注 私信
[文章]

【沁恒微CH32V307评估板试用体验】EXTI外部中断问题


一个奇怪的问题:仅仅使用EXti0 进行中断时,可以多次进入。在使用非EXTI0中断,如EXTI15,第一次可以正常产生中断EXTI15_10,进入对应中断服务程序执行。随后在也进入不了任何EXTI中断,即使是前面可以多次进入的EXTI0也不能正常中断了。不知问题出在哪里?
中断初始化及中断服务代码如下:




先多产生EXTI0中断请求,都可以执行中断服务程序。产生一次EXTI15中断请求后,第1次可以执行中断服务程序,执行过后,再次产生EXTI0或者EXTI15中断,都不能在进入对应的中断服务程序,输出的调试信息如下图。


有没有人遇到类似问题?


回帖(1)

Youzhiyu

2022-5-23 16:33:05
问题在于:没有进行中断服务函数的中断属性声明。
//--声明函数的属性:中断属性  ,属性类型为“WCH-Interrupt-fast”
void EXTI15_10_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));

这个有别有STM32F1XX系列的在MDK下的中断服务程序编写方式,加上这个中断属性就OK啦!!
1 1

更多回帖

×
发帖