PWM和定时器初始化顺序为什么会影响到pwm的输出呢?

2019-07-14 15:51发布

各位好,我用STM32f103t6的tim1_ch1输出pwm,用tim3作为定时器每隔一段时间更新pwm的输出频率和占空比。频率 uint8_t freq[17] = {4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
占空比 uint8_t duty[17] = {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85};
现在遇到的问题是先初始化pwm,再初始化定时器,那么pwm的输出是从小到大的顺序;
如果先初始化定时器,再初始化pwm,那么pwm的输出是从大到小的顺序,完全反过来了。
初始化的顺序不同为什么会影响到pwm的输出呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xieweibin
1楼-- · 2019-07-14 20:35
感觉应该是楼主的算法没有做好。
jisu31743
2楼-- · 2019-07-15 02:28
 精彩回答 2  元偷偷看……
djw200988
3楼-- · 2019-07-15 04:16
tussi_pre1 发表于 2018-11-21 18:31
pwm的输出频率:放映信号出现的周期性;
占空比:放映信号中高低电平所占在比重。
tim1_ch1输出pwm和TIM3定时器没有联系。

可能是我没表述清楚
我现在用tim1的ch1输出pwm方波控制电磁铁,另外用tim3作为定时器计时,每隔固定时间(比如20s)改变pwm的频率和占空比。就按照第一个帖子中的两个数组来设置参数。
现在的问题是按照  pwm_init(); tim3_init()的顺序初始化,pwm的输出就按照数组从小到大输出,
但是按照  tim3_init(); pwm_init()的顺序初始化,pwm的输出就按照数组从大到小输出,相当于完全相反。
不知道这样描述清楚了吗?
tussi_pre1
4楼-- · 2019-07-15 07:53
djw200988 发表于 2018-11-21 18:56
可能是我没表述清楚
我现在用tim1的ch1输出pwm方波控制电磁铁,另外用tim3作为定时器计时,每隔固定时间(比如20s)改变pwm的频率和占空比。就按照第一个帖子中的两个数组来设置参数。
现在的问题是按照  pwm_init(); tim3_init()的顺序初始化,pwm的输出就按照数组从小到大输出,

方便把代码放上来吗?
pingfandeshijie
5楼-- · 2019-07-15 12:43
你好,请问楼主解决了这个问题了?我现在好像也遇到类是的问题。
djw200988
6楼-- · 2019-07-15 17:48
pingfandeshijie 发表于 2018-11-21 19:15
你好,请问楼主解决了这个问题了?我现在好像也遇到类是的问题。

没有解决

一周热门 更多>