关于MSP430产生可调PWM

2019-03-24 08:25发布

想通过430产生PWM ,用AD采样来实时改变PWM占空比。   
void PWM2(int y)
{
  P2DIR |= BIT4+BIT5;                         // P2.4  2.5  输出
  P2SEL |= BIT4+BIT5;                         // P1.2 and P1.3 options select
  TA2CCR0 = 128;                            // PWM 周期
  TA2CCTL1 = OUTMOD_7;                        // 增计数模式
  TA2CCR1 = y;                                // CCR1 PWM 占空比
  TA2CCTL2 = OUTMOD_3;                        // CCR2 reset/set
  TA2CCR2 = y;                             // CCR2 PWM duty cycle
  TA2CTL = TASSEL_2 + MC_1 + TACLR+ID_3;           // SMCLK, up mode, clear TAR
}

请问调整占空比,是每次都调用PWM2(y)函数还是直接改变  TA2CCR1  TA2CCR2的值,  这个函数需要放在中断里还是只运行一次就行????  新手求解答!!!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xiaozhuaitiao
1楼-- · 2019-03-24 16:56
< 貌似要先暂停PWM输出,才能改变PWM配置寄存器的值吧?不太懂  建议好好看下单片机的手册
zhangxiajoa
2楼-- · 2019-03-24 20:49
 精彩回答 2  元偷偷看……
735978414a
3楼-- · 2019-03-25 00:36
zhangxiajoa 发表于 2017-8-7 10:11
直接覆盖,CCRx写值就行了

那要是定时器没记完数呢?    定时器计数的时候中断会停止它吗?
zhangxiajoa
4楼-- · 2019-03-25 05:42
735978414a 发表于 2017-8-7 18:19
那要是定时器没记完数呢?    定时器计数的时候中断会停止它吗?

什么意思?没计完数也不影响啊,直接覆盖

一周热门 更多>

相关问题

    相关文章