打印
[MCU]

进不了中断

[复制链接]
221|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2019-7-13 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

void main(void)

{

  WDTCTL = WDTPW + WDTHOLD;         


  TACTL = TASSEL0 + TACLR;

                                      

  CCTL0 = CCIE;                     


  CCR0 = 16384;                  

  P1DIR = 0x01;                     


  TACTL = MC0;                     


_EINT();  

P1OUT |=0x01;

  while(1)

  ;

}



#pragma vector = TIMERA0_VECTOR

__interrupt void Timer_A(void)

{

P1OUT ^=0x01;

}

使用特权

评论回复

相关帖子

沙发
huangchui|  楼主 | 2019-7-13 14:50 | 只看该作者
软件应该没问题,我用的是3.41 4K限制版。软仿硬仿都试过了,没用。

使用特权

评论回复
板凳
zhaoxqi| | 2019-7-13 14:56 | 只看该作者

TACTL = MC0;

这里应该是位操作才可以TACTL |= MC0; 否则试种源就选择成TACLK了。

使用特权

评论回复
地板
午夜粪车| | 2019-7-13 14:59 | 只看该作者
你用的是430的那款单片机啊?我用的是msp430F149,感觉你的程序没有什么问题的啊!P1DIR = 0x01;  但是我觉得像这种语句应该写成P1DIR| = 0x01;

使用特权

评论回复
5
wuhany| | 2019-7-13 15:02 | 只看该作者

如果程序中都像你这样写的话会干扰到其他的端口的。你再调试调试吧!

使用特权

评论回复
6
lizye| | 2019-7-13 15:05 | 只看该作者
当你后面加TACTL = MC0时,实际上已经把你的TIMERA时钟选择为外部时钟输入TACLK,此时你必须自己加CLK给TIMERA。

使用特权

评论回复
7
jiahy| | 2019-7-13 15:11 | 只看该作者

当换TACTL |= MC0,也就是不改变之前你设定的时钟,按TACTL = TASSEL0 + TACLR;说明你选择了ACLK作为定时器时钟源,请检查外部低速晶振是否连接或起振。

使用特权

评论回复
8
shimx| | 2019-7-13 15:15 | 只看该作者
纯软件不能仿真吗?我想应该可以的,我在网上查过,很多人也有此类问题。

使用特权

评论回复
9
lizye| | 2019-7-13 15:18 | 只看该作者
好像是simulator-->Forced Interrupts 配置的原因

使用特权

评论回复
10
jiaxw| | 2019-7-13 15:21 | 只看该作者

楼上提示的是啊,,在仿真软件里面也是需要注意的。

使用特权

评论回复
11
huangchui|  楼主 | 2019-7-13 15:24 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

粉丝