大家好、
我开始了解 MSP430F5438A、我在启动时钟时遇到了问题。 我已附上我设计的电路板原理图文件。
可以在此链路驱动器中查看整个电路板的原理图:
我在此链接中下载了有关 msp430x54xA_UCS 的示例代码。
http://dev.ti.com/tirex/explore/node?node=AMtL227pGhUpuFnMS3tjJQ__IOGqZri__LATEST
我使用的编译器是 MSP430 7.12版的 IAR。
使用调试功能、我注意到我的程序一直在 DO while 循环中运行。
我无法理解这里有一种荒谬之处。
#define DCOFFG (0x0001u)/* DCO 故障标志*/
#define XT1LFOFFG (0x0002u)/* XT1低频*/
#define XT1HFOFFG (0x0004u)/* XT1高频*/
#define XT2OFFG (0x0008u)/*高频振荡器2 */
当我打开调试程序时、UCSCTL7的初始值= 1027 (0b0000 0100 0000 0011)。
我想、在执行命令后
UCSCTL7 &=~Ω(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
UCSCTL7的值= 1024 (0b0000 0100 0000 0000)、但它给出的值为1026 (0b0000 0100 0000 0010)。 这使得 DO while 循环永远运行。
有人能解释一下如何为我提供帮助吗?
非常感谢大家。