今天在调试沁恒的CH32V307的时候,需要用到定时器中断,然后利用库函数配置了定时器中断,然后在写测试测试程序的时候发现,定时器中断的函数只会触发一次。
然后百思不得其解,先后检查了定时器的配置,NVIC的配置,中断的配置,时钟源的配置,结果都没有效果。说没有配置成功,但是它可以执行一次,说配置成功吧,但是它就只能执行一次。
也根据网上的说明,检查了中断的函数名,但是还是发现不行。然后经过大量的尝试,最后把系统的中断函数放在中断配置的文件中,结果就可以了。问题解决了但是有个疑问。中断函数不是硬件调用吗?由硬件进行调用,怎么放在哪个文件也会影响调用呢?放在main中就不行,放在中断的源文件中就可以呢?用的是沁恒的V307,IDE是MounRiver Studio。希望由大佬给我解答一下困惑。
测试程序为中断里Num++,while中500ms打印一次