我正在编写一个简单的游戏并尝试在MSP430F5529微控制器上进行测试。我遇到的问题与看门狗定时器有关。
我编写的代码导致器件复位,这表示看门狗定时器问题。我假设我需要在我的主代码的第一行,某种预初始化代码之前停止它。我是否在正确的轨道上说,或者问题可能还在代码的其他部分?
为了更清楚,我的主要代码如下(简单形式):
就我而言,这段代码应该是正确的。
答案 0 :(得分:6)
以下是一些想法。如果您不打算喂它,您必须明确禁用看门狗。您不必在pre-init代码中执行此操作(除非您亲自修改了pre-init代码并使其执行时间更长)。除了以下情况之外,在main的开头做它应该没问题。静态数组可能会强制它们在pre-init代码中初始化为零。如果它们很大,那可能需要一些时间,也许足以让我们在退出pre-init代码之前触发看门狗。此外,至少在某些MSP430上,必须先使用密码解锁时钟寄存器,然后再写入。如果不这样做,芯片将重置。
如果你还没有看到它,那么这是一个在pre-init代码中讨论看门狗的链接: http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/267695.aspx