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

NVIC如下:

中断寄存器如下:TMR0的中断号是0X40H

以上今天是一次也进不去了。我在想是不是硬件板子的问题。可惜搬家板子全丢了只剩这一个,新打样的PCB还未到货。
|