MSP430中断

z15881328002 2010-05-24 06:33:51
#include <msp430x14x.h>
unsigned char t=0;
unsigned int Time;

void Clock_Init(void)
{
unsigned char i;
BCSCTL1&=~XT2OFF; //打开XT震荡器
BCSCTL2|=SELM1+SELS+DIVS_3;//mclk=smlk=1MHz
do
{
IFG1&=~OFIFG;//清除震荡错误标志
for(i=0;i<100;i++);
}while((IFG1&OFIFG));
IFG1&=~OFIFG;
}

void main(void)
{
Clock_Init();
WDTCTL=WDTPW|WDT_MRST_8; //SMCLK 8ms
IE1|=WDTIE; //开看门狗中断

P1DIR=0XFF;
P1OUT=0;
while(1)
if(t) P1OUT|=BIT1;
}

#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer()
{
t++;
if(t==125) { Time++;t=0; }
if(Time%2) P1OUT|=BIT0;
else P1OUT&=~BIT0;
}

不能进中断????? BIT1始终为低,BIT0也不闪
...全文
63 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Peasant_Lee 2010-05-24
  • 打赏
  • 举报
回复
是不是你的看门狗的时钟源都没有打开?

可以选择的时钟源有:SMCLK和ACLK。单片机处在LPM3时候只有ACLK时钟,处在LPM4下,没有时钟可以使用。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧