TI论坛
直播中

张百玲

7年用户 231经验值
私信 关注
[问答]

请问Timer0发出的PWM波应该怎样改变其频率呢?

在艾研的timer0发出PWM波的程序中,看到他直接在.h文件中定义:
           # define SAMPLE_FREQUENCY     10000   //10K频率.
          #define CARRIER_PERIOD_TIME       TIVA_MAIN_FREQUENCY / SAMPLE_FREQUENCY
不用他的定义,想让  SAMPLE_FREQUENCY  =    N * SPWM_FREQUENCY, N随按键变化。
可是自己做出来的方波频率没有变化。
   

回帖(4)

刘丽艳

2018-8-14 07:28:27
找到原来TIMER里真正对SAMPLE_FREQUENCY进行操作的函数,在ISR里改变N的值,算出新的SAMPLE_FREQUENCY  =    N * SPWM_FREQUENCY,再赋值到同样的函数中
                                                                         Holly
举报

张百玲

2018-8-14 07:45:25
引用: ctx1129 发表于 2018-8-14 07:28
找到原来TIMER里真正对SAMPLE_FREQUENCY进行操作的函数,在ISR里改变N的值,算出新的SAMPLE_FREQUENCY  =    N * SPWM_FREQUENCY,再赋值到同样的函数中
                                                                         Holly

Gu,很谢谢你的回答~
 
 
 
举报

张百玲

2018-8-14 08:03:37
引用: ctx1129 发表于 2018-8-14 07:28
找到原来TIMER里真正对SAMPLE_FREQUENCY进行操作的函数,在ISR里改变N的值,算出新的SAMPLE_FREQUENCY  =    N * SPWM_FREQUENCY,再赋值到同样的函数中
                                                                         Holly

还是失败了,貌似新算出的没能正确赋值过去。。。。。。。
 
(1).有三个地方用到了SAMPLE.
(2).尝试在中断里算SAMPLE_FREQUENCY,
但是,频率不随N变化,而且频率不为10k,变成了20k!!!!
果然还得继续学习、、、、
举报

杨柳

2018-8-14 08:15:27
引用: ctx1129 发表于 2018-8-14 07:28
找到原来TIMER里真正对SAMPLE_FREQUENCY进行操作的函数,在ISR里改变N的值,算出新的SAMPLE_FREQUENCY  =    N * SPWM_FREQUENCY,再赋值到同样的函数中
                                                                         Holly

想问下怎么弄的,这是用什么DSP有
举报

更多回帖

发帖
×
20
完善资料,
赚取积分