在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 4182|回复: 12

[求助] MSP430F149单片机定时器B的用法

[复制链接]
发表于 2016-11-10 18:41:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
有没有谁知道MSP430F149单片机定时器B的用法,望知道的给我告知一下,感谢
 楼主| 发表于 2016-11-10 18:42:26 | 显示全部楼层
谢谢了
发表于 2016-11-11 17:44:41 | 显示全部楼层
youqingbangding
发表于 2016-11-25 19:57:34 | 显示全部楼层
void setup_clocks_xt2 (void) {
  int i;
  BCSCTL1 = DIVA_0 ;
  do   {
    IFG1 &= ~OFIFG;                           // Clear OSCFault flag
    for (i = 50; i > 0; i--);                  // Time for flag to set
  }
  while ((IFG1 & OFIFG));   
  BCSCTL2 = SELM_2 + DIVM_0 + SELS + DIVS_3;
}
// ===========================================
//    Setup CPU timers
// ===========================================
void setup_timers(void) {
  
  TBCTL = TBSSEL_2 + MC_1 + TBIE;
  TBCCTL0 = CM_0 +  CCIS_2 + CCIE;
  TBR=0;
  TBCCR0 = 13824; //11059200Hz /8/13824=100Hz for 10ms time base .
  TBCCTL1 = TBCCTL2 = TBCCTL3 = TBCCTL4 = TBCCTL5 = TBCCTL6 = CM_0 + CLLD_2 + CCIS_2;
  TBCCR1 = TBCCR2 = TBCCR3 = TBCCR4 = TBCCR5 = TBCCR6 = 13824;
}

// Timer B0 interrupt service routine 10 time base
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B0 (void) {
        //keytimebase++;
        current_on();
        rep_timer1++; rep_timer2++;
        key_sel_timer++;
        backlight_timer++; battery_timer++; bootup_timer++;
        if (display_count) display_count--; else display_refresh();
        if (delay_count) delay_count--;
       
        mstimer_count++;
        if (mstimer_count>=100) { // 1 second
                mstimer_count=0;
                menu_scale_timer++;
                if (menu_scale_timer>30) { // 30 seconds
                        menu_scale_timer=0;
                        menu_scale=0;
                }
                return_timer++;
                if (return_timer>=30) {
                        return_timer=0;
                        return_detector();
                }
        }
       
}

// CCR2 to CCR6 you can control by PWM mode
// or time phase control
#pragma vector=TIMERB1_VECTOR
__interrupt void Timer_B1 (void) {
  switch( TBIV ) {
  case  2:    // CCR1 interrupt (never)
                   
          break;                        //
  case  4:    // CCR2 interrupt
          break;
  case  6:    // CCR3 interrupt
          break;
  case  8:    // CCR4 interrupt
          break;
  case 10:    // CCR5 interrupt
                  
                   
               break;
  case  12:    // CCR6 interrupt
          break;
  case  14:    // timer overflow same as timer B0
                   
          break;
  default :   break;
  }
}
发表于 2016-12-6 13:28:14 | 显示全部楼层
MSP430F149单片机定时器B的用法
发表于 2016-12-19 22:16:56 | 显示全部楼层
Thanks
发表于 2016-12-23 16:11:19 | 显示全部楼层
和定时器A类似,就是多了一个group的功能,以及可以在不同时刻重新装载CCRx寄存器。
发表于 2016-12-27 16:55:25 | 显示全部楼层
太厉害了,这个是TI公司的?
发表于 2017-1-5 16:35:02 | 显示全部楼层
资料不错!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
发表于 2017-1-7 09:58:02 | 显示全部楼层
谢谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

关闭

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 19:08 , Processed in 0.030471 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表