主题中讨论的其他部件: MSP430F6659, MSP430F5342
大家好,
通过使用使用MSP430F5659的新器件, 我们遇到了一个问题:在某些情况下,微控制器无法从LPM3唤醒。 完成勘误后,我们找不到任何解释这一点的信息,只是它与PMM15类似。 我们的范围缩小到,在ISR期间,同一计时器的计时器IFG变为真,退出ISR并返回到LPM3后,没有重新进入ISR。 我们通过在需要时手动清除和设置IFG来解决此问题。 这是错误编号1,由于现在发生的情况,我无法再确定。
这让我想到了错误2。 当前代码冻结的方式将不再为任何ISR或DMA提供服务,甚至不会通过 看门狗重置。
在测试过程中,我们发现了一个案例,它将卡在LPM3中。 代码具有2个计时器的ISR,两者均为32kHz时的TB0,一旦设置了计时器,ISR将在计时器之间交替设置下一个超时波段(一个带有mA周期,另一个具有较短的操作超时)。 同时,主代码运行其他操作,这些操作将控制权授予ISR。 在某个时候,ISR将返回,当它重新进入LPM3时,它将不会唤醒。 我们尝试使用DMA,其它中断和监视器,但当它进入这种状态时,没有任何工作。
问题似乎消失的原因是关闭了SVS。 我们仅使用SVSH,并关闭SVSL和SVM。 从自动(完全性能/正常)更改为手动也似乎起了作用。
该错误与代码极其相关,因此我们假定时间安排非常重要。 我们正在努力将代码减少到我们可以上传的内容,但至少需要几天时间。
是否有人遇到了这样的错误?