[讨论] 用SMCLK为输入时钟就没有PWM波形输出,用ACLK就没问题,哪里出错了?

helloxieyu   2014-8-5 20:07 楼主
TACTL = TASSEL0 + TACLR;              // ACLK为时钟源就有64HZ左右的PWM波形输出
//  TACTL = TASSEL1+ TACLR;            // 想设置成SMCLK就没有PWM波形输出,哪里错了??
  
  CCR0 =512-1;                         // PWM周期
  CCTL1 = OUTMOD_7;                     
  CCR1 =384;              //占空比  384/512=0.75
  CCTL2 = OUTMOD_7;                     
  CCR2 =128;               //占空比128/512=0.25         
  P1DIR |= 0x04;                        // P1.2 输出        
  P1SEL |= 0x04;                        // P1.2 TA1
  TACTL |= MC0;                        // Timer_A 增计数模式
  for (;;)                           
  {
    _BIS_SR(LPM3_bits);                 // 进入 LPM3  
    _NOP();                           
  }

//ACLK为时钟源就有64HZ左右的PWM波形输出

回复评论 (4)

进入低功耗模式下一定要注意你外设的时钟源呢!LPM3模式下SMCLK是关闭的,而ACLK可用!
人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
点赞  2014-8-5 20:22
哇,好快的回复啊,谢谢“huixianfxt”大大,我试试看。
点赞  2014-8-5 20:25
看你的代码是让单片机进入低功耗模式3里面了,在这个模式里,smclk是关闭的,当然不能输出了
点赞  2014-8-6 11:04
低功耗不懂就不要用啊
点赞  2014-8-7 00:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复