在做通用定时器中断实验时发现代码编译无错误但是下入板子后无法达到预期功能从而进行排错,在与开源代码对比后发现自己未写GTIM_TIMX_INT_IRQHandler此函数,从而导致led灯无法闪烁。因为在主文件(c文件)中未使用到GTIM_TIMX_INT_IRQHandler这个宏定义,在网上查找资料后发现XXX_XX_INT_IRQn与XXX_XX_INT_IRQHandler两个宏定义有着密切关系,其中XXX_XX_INT_IRQn指的是中断号枚举值,XXX_XX_INT_IRQHandler指的是中断处理函数的名称,两个宏定义掌握着中断控制器中建立中断号与中断处理函数之间的关系。因此这两者必须同时在头文件中出现,因偷懒或者没用到就不写其中一个是不行的。
STM32编译通过但达成不了预定功能可能性(中断)
最新推荐文章于 2024-11-06 18:03:09 发布
作者在进行通用定时器中断实验时遇到问题,发现由于漏写了GTIM_TIMX_INT_IRQHandler函数而导致预期功能未能实现。文章强调了XXX_XX_INT_IRQn和XXX_XX_INT_IRQHandler宏定义在中断控制中的关键作用,指出两者在头文件中的同步使用至关重要。
摘要由CSDN通过智能技术生成