打印

进不了中断

[复制链接]
669|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2014-11-9 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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|  楼主 | 2014-11-9 09:54 | 只看该作者
软件应该没问题,我用的是3.41 4K限制版。软仿硬仿都试过了,没用。

使用特权

评论回复
板凳
zhaoxqi| | 2014-11-9 09:56 | 只看该作者
TACTL = MC0;

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

使用特权

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

使用特权

评论回复
5
wuhany| | 2014-11-9 10:00 | 只看该作者
如果程序中都像你这样写的话会干扰到其他的端口的。你再调试调试吧!

使用特权

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

使用特权

评论回复
7
jiahy| | 2014-11-9 10:03 | 只看该作者
当换TACTL |= MC0,也就是不改变之前你设定的时钟,按TACTL = TASSEL0 + TACLR;说明你选择了ACLK作为定时器时钟源,请检查外部低速晶振是否连接或起振。

使用特权

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

使用特权

评论回复
9
lizye| | 2014-11-9 10:06 | 只看该作者
好像是simulator-->Forced Interrupts 配置的原因

使用特权

评论回复
10
huangchui|  楼主 | 2014-11-9 10:07 | 只看该作者
啊?我看下,多谢提醒

使用特权

评论回复
11
huangchui|  楼主 | 2014-11-9 10:07 | 只看该作者
先结贴了,多谢大侠们

使用特权

评论回复
12
smilingangel| | 2014-11-9 21:33 | 只看该作者
lizye 发表于 2014-11-9 10:06
好像是simulator-->Forced Interrupts 配置的原因

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

使用特权

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

本版积分规则

918

主题

12323

帖子

4

粉丝