[英]MSP430 ACLK problems after reset
我有一个带有 msp430g2553 微控制器的 MSP-EXP430G2ET 启动板。 我为我的嵌入式系统课程购买了它。
最近我们学会了使用定时器,最后的实验工作是在时间间隔模式下使用看门狗定时器。 但是在这样做时,我发现我的 ACLK 工作不正常。 我检查了电路板的数据表和指南,如果我没记错的话,它有 ACLK。 顺便说一下,当我触摸板的引脚时,LED 以不同的频率闪烁。
这是我用于看门狗定时器以一个周期点亮 LED 的代码。
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTCNTCL | WDTIS0 | WDTSSEL | WDTTMSEL;// config watchdog timer aclk 1ms
P1DIR |= BIT0 | BIT6; // P1.0 and P1.6 is configured as output
P1OUT = ~BIT0 | ~BIT6; // Led P1.0 and P1.6 are turned off
while (1){
if (IFG1&BIT0 != 0){
P1OUT ^= BIT0 | BIT6;
IFG1 &= ~WDTIFG;
}
}
}
此代码不起作用。 LED 不亮。
从代码片段来看,没有什么是大错特错的,所以如果没有我可以使用的设备,我会在黑暗中刺伤 4 次。
(WDTPW|WDTHOLD)
。 当您尝试设置它时,它可能会吓坏并重置您的设备。P1OUT = ~BIT0|~BIT6
有错误的操作员预知。 每个 NOT 都在 OR 之前完成。 这与~(BIT0|BIT6)
效果不同,后者将它们进行 OR ~(BIT0|BIT6)
,然后进行非运算。我有一个具有msp430g2553微控制器的MSP-EXP430G2ET启动板。 我在嵌入式系统课程中购买了它。
最近,我们学会了使用计时器,最后的实验工作是在时间间隔模式下使用看门狗计时器。 但是在这样做的时候,我发现我的ACLK不能正常工作。 我检查了数据手册并为开发板提供了指南,如果我没有记错的话,它具有ACLK。 顺便说一下,当我触摸电路板的引脚时,LED会以不同的频率闪烁。
这是我用于看门狗定时器的代码,用于以一定的时间点亮LED。
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTCNTCL | WDTIS0 | WDTSSEL | WDTTMSEL;// config watchdog timer aclk 1ms
P1DIR |= BIT0 | BIT6; // P1.0 and P1.6 is configured as output
P1OUT = ~BIT0 | ~BIT6; // Led P1.0 and P1.6 are turned off
while (1){
if (IFG1&BIT0 != 0){
P1OUT ^= BIT0 | BIT6;
IFG1 &= ~WDTIFG;
}
}
}
此代码不起作用。 LED不亮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.