3340|9

72

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

g2553定时器的使用问题 [复制链接]

#include "msp430g2553.h"

int main( void )
{
  // Stop watchdog timer to prevent time out reset
    WDTCTL = WDTPW + WDTHOLD;
   
    P1DIR |= BIT0;
    P1OUT &= ~BIT0;
   
    CCR0=50000;
    TACTL=TAIE+TASSEL_2+MC_1;
        
    while(1);
    //return 0;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void timer_A(void)
{
    P1OUT |= BIT0;
}

P1.0有个灯,最开始我是让他闪烁的,后来发现没进入中断,所以中断函数里面就写了个让他亮的程序,但是一直没亮,所以没进入中断,我不知道问题出在哪儿,请各位坛友帮我看下

最新回复

#include   void main(void) {   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT   P1DIR |= 0x01;                            // P1.0 output   CCTL1 = CCIE;                             // CCR1 interrupt enabled   CCR1 = 50000;   TACTL = TASSEL_2 + MC_2;                  // SMCLK, Contmode   _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt } // Timer_A3 Interrupt Vector (TA0IV) handler #pragma vector=TIMER0_A1_VECTOR __interrupt void Timer_A(void) {   switch( TA0IV )   {   case  2:                                  // CCR1     {     P1OUT ^= 0x01;                          // Toggle P1.0     CCR1 += 50000;                          // Add Offset to CCR1     }            break;   case  4: break;                           // CCR2 not used   case 10: break;                           // overflow not used } } 复制代码  详情 回复 发表于 2012-8-2 10:48

点评

已解决  详情 回复 发表于 2012-7-30 17:18
 
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 51新手 的帖子

已解决
 
 

回复

67

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
我以前也遇到过这种情况  加上 CCTL0 = CCIE;      _EINT(); 就行了的  

点评

:) 嗯,我不懂ccie是捕获比较中断,为什么不用TAIE,你知不知道是怎么回事啊  详情 回复 发表于 2012-8-1 10:06
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(高级)

4
 

回复 板凳 shan_99 的帖子

嗯,我不懂ccie是捕获比较中断,为什么不用TAIE,你知不知道是怎么回事啊
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(高级)

5
 
因为你的程序用到了CCR0计数,要产生中断肯定要把它对应的中断打开的 ,不然怎么会进入相应中断完成功能呢  解释得不好,建议看使用手册哈
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

6
 
用TAIE也是可以的,只不过#pragma vector=TIMER0_A0_VECTOR要改成#pragma vector=TIMER0_A1_VECTOR。捕获/比较是在计数到CCR0-1产生中断,而TAIFG是在计数到CCR0时置位。相差不大,关键是中断向量不同。

点评

嗯,谢了,:)  详情 回复 发表于 2012-8-2 10:46
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

7
 
如果是1m时钟,算不算是相差一微秒哦
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

8
 
在那加啊
多多指教
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(高级)

9
 

回复 6楼 tangmijie 的帖子

嗯,谢了,
 
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

10
 

  1. #include  

  2. void main(void)
  3. {
  4.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  5.   P1DIR |= 0x01;                            // P1.0 output
  6.   CCTL1 = CCIE;                             // CCR1 interrupt enabled
  7.   CCR1 = 50000;
  8.   TACTL = TASSEL_2 + MC_2;                  // SMCLK, Contmode

  9.   _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
  10. }

  11. // Timer_A3 Interrupt Vector (TA0IV) handler
  12. #pragma vector=TIMER0_A1_VECTOR
  13. __interrupt void Timer_A(void)
  14. {
  15.   switch( TA0IV )
  16.   {
  17.   case  2:                                  // CCR1
  18.     {
  19.     P1OUT ^= 0x01;                          // Toggle P1.0
  20.     CCR1 += 50000;                          // Add Offset to CCR1
  21.     }
  22.            break;
  23.   case  4: break;                           // CCR2 not used
  24.   case 10: break;                           // overflow not used
  25. }
  26. }
复制代码
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表