刚学习MSP430F149,想问各位高手几个问题。小弟在此先谢过了!!!

1、关看门狗,为啥只可以用WDTCTL=WDTPW+WDTHOLD;而不能用WDTCTL|=WDTPW+WDTHOLD;(程序验证时错误的)!!2、时钟初始化程序void... 1、关看门狗,为啥只可以用 WDTCTL = WDTPW + WDTHOLD;
而不能用 WDTCTL |= WDTPW + WDTHOLD;(程序验证时错误的)!!
2、时钟初始化程序
void clock_initial( )
{
//在这个模块中只定义SMCLK和MCLK
unsigned char i;
BCSCTL1 &= ~XT2OFF; //打开XT2振荡器
BCSCTL2 |= SELM1 + SELS; //SMCLK 8M,MCLK 8M

do //默认不打开时钟中断使能
{
IFG1 &= ~OFIFG;
for(i=0;i<100;i++) _NOP();
}
while((IFG1 & OFIFG) != 0);
IFG1 &= ~OFIFG; //这句话可不要??
}
最后一句话是不是可以不要??? 为啥程序中都有,但是我去了,却也不影响,求解释!!!
展开
 我来答
802109119
2012-03-17
知道答主
回答量:12
采纳率:0%
帮助的人:14.5万
展开全部
一、看门狗寄存器操作和FLASH操作一样,在写的时候都需要在相对应的位(15-8位)写入相应的数据才允许对其进行操作。WDTHOLD=1是指停止看门狗计数工作,而前面的WDTPW 则是对应在5AH。即WDTCTL = WDTPW + WDTHOLD等价于WDTCTL =0x5A00+0x0080;而是用WDTCTL |= WDTPW + WDTHOLD的时候,高字节的数据不再是5A,所以你写入无效。所以这个写法是必须的。
二、对第二个问题,我一直是这样用的,习惯了也没怎么去注意了。这个可以不要,但大家都习惯这样用吧。

重要的是第一点哈
考试派丨美洽教育
2024-05-28 广告
作为世界经济的发动机,中国对于国际化的会计师是供不应求的。为了帮助中国培养更多的国际化的会计师团体,国际会计师公会AIA本着对CICPA专业考试的认可和尊重,为取得CICPA并且工作满三年的学员专门设计三门课程(其中一门免考),通过考试后即... 点击进入详情页
本回答由考试派丨美洽教育提供
hawksabre
2012-03-16
知道答主
回答量:71
采纳率:0%
帮助的人:18万
展开全部
有难度 我先看看 我也是菜鸟啊 呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式