本帖最后由 kk810226 于 2025-2-11 19:40 编辑
使用TMRO的CH-A做100us的时钟中断。使用的同步时钟,中断号使用的INT006,初始化程序采用的小华的范例中的程序。
现在碰到的问题是,仿真的时候大概有70%的机会进不了中断。
通过仿真器看NVIC,也没看到其他中断被挂起或者响应。
进不了中断的后面也就进不了中断了。猜测可能是初始化程序这里的问题。
但是在观察可以进中断和不可以中断时候的TMR0的配置寄存器,NVIC的寄存器,还有INTC的寄存器都没看到差异。。
后面发现通过修改DDL_DelayMS(1U)的延时时间会影响成功的概率。
中间几经波折,最终还是定在了初始的1ms时间,连续跑了10多次都没有出现问题。
但是今天突然又不行了。。
所以想知道这个地方的延时是为了什么的?手册中只是提到了采用异步时钟的时候需要延时。
为什么它会影响中断?或者是其他方面的原因,有没有哪位大佬碰到或知道的。
程序如下:
|