工具/软件:Code Composer Studio
此帖子与 小东李 在回复 中的回复有关:https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/673619/2479155?tisearch=e2e-sitesearch&keymatch=UNMI#2479155
在文件 msp430fr69xx_of_lfxt1_nmi.c 中、它允许通过执行写入 CS 寄存器
CSCTL0_H = CSKEY >> 8;
但事实证明之后、再次写入密码以锁定 CS 寄存器的位置并不重要。 这是否意味着 CS 寄存器不再被锁定、从而允许执行所有后续的 CS 写入? 如果是、我会怀疑这不是最佳做法吗?
此外,在 UNMI ISR 内部还有一个:
_delay_cycles (60000); //标志的设置时间
是否在任何地方记录了正确的延迟时间、或为什么应该这么做? 它是为了让用户能够看到 LED 闪烁、还是需要一定量的周期来清除标志? 如果是、如果您消除延迟、会产生什么后果?
在 UNMI ISR 处于服务状态(已完成运行)后、微控制器是否会在故障发生之前停止运行?
最后、关于 UNMI ISR、如果代码更改为:
执行 { CSCTL0_H = CSKKEY_H; //添加了---解锁 CS 寄存器 CSCTL5 &=~LFXTOFFG; //清除 XT1故障标志 SFRIFG1 &=~OFIFG; _delay_cycles (60000); //标志的设置时间 P1OUT ^= BIT0; //使用异或切换 P1.0 CSCTL0_H = 0; //添加了---锁定 CS 寄存器 } while (SFRIFG1和 OFIFG); //测试振荡器故障标志
以这种方式解锁和锁定 CS 寄存器是否会导致任何问题?