关于TIM1的PWM互补输出

2019-10-16 08:20发布

TIM1的互补输出PWM,死区时间我都调试出来了,用MDK仿真也没问题,但是 我还有个是关于库函数版本代码的  
我将下面三行代码注释后,仿真还是一样的,也就是说着三行代码没用的
//  TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
// TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
// TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable);
那么问题来了,使能自动重装载到底是哪个函数在实现?
TIM1->CCMR2|=1<<11;  // CH4预装载使能
我找了半天还是时有TIM_OCxPreloadConfig();有这个功能
然后,我去测试了原子的PWM代码的库函数版本,注释了
TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);依然输出了PWM附图1

不知道我说清楚了 我的问题没,希望有人能解答,同时二楼附上我的代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
原_子_哥门徒
1楼-- · 2019-10-18 05:44
这个尽量硬件仿真实测下,软件仿真bug太多,上回有个时钟输出不成功就是软件仿真的问题,建议您用双通道示波器或者逻辑分析仪测试下。
xueshawu
2楼-- · 2019-10-18 07:12
 精彩回答 2  元偷偷看……
Ldd69stm32
3楼-- · 2019-10-18 07:26
xueshawu 发表于 2016-7-16 14:47
我也是在想直接用硬件测试,目前的条件只能用LED来测试,谢谢

能交流一下这个死区的问题吗?~谢谢了
xueshawu
4楼-- · 2019-10-18 10:26
Ldd69stm32 发表于 2016-11-24 18:57
能交流一下这个死区的问题吗?~谢谢了

问题不是死区时间的问题,是MDK软件仿真时存在的BUG,这里的代码死区时间是正常的
Ldd69stm32
5楼-- · 2019-10-18 13:25
xueshawu 发表于 2016-11-26 14:22
问题不是死区时间的问题,是MDK软件仿真时存在的BUG,这里的代码死区时间是正常的

能和你交流一下BLDC  FOC控制方式吗
xueshawu
6楼-- · 2019-10-18 16:00
ST官方有FOC的库函数吧,这方面没研究过;你可以研究之后,发个帖子让我长长见识

一周热门 更多>