我将获得伪波计时器中断。
我之所以将其称为"假"、是因为我认为在计时器经过其计数周期和超时后才会发生。 但它会立即发生。
它的可重复性或多或少、在我尝试重现它的次数中、发生的次数大约为50%。 它发生在程序的启动逻辑期间、恰好在我启用中断之后、尤其是在闪存通过 CCS 对器件进行编程以启动调试会话之后、但也可能发生在系统复位或内核复位之后。
我认为发生这种情况是因为 GPTMRIS / GPTMMIS 位0已经打开、可能是通过程序前一次运行、也可能是因为我的错误。 我还没有找到这个位的原因是1。
奇怪的是、我认为我的计时器设置代码应该清除这个。 我仅使用 TivaWare 调用。
我的印象是在执行序列 TimerIntEnable()、IntEnable()、TimerEnable()之前调用 TimerIntClear ()会导致在计时器超时之前不会触发中断。
但显然 TimerIntClear ()还不够。 为了避免这个问题,必须在 TimerIntEnable()、IntEnable()、TimerEnable()之前进行哪些额外的调用?