完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位好,我用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的输出呢? |
|
相关推荐
9个回答
|
|
pwm的输出频率:放映信号出现的周期性;
占空比:放映信号中高低电平所占在比重。 tim1_ch1输出pwm和TIM3定时器没有联系。 假如你用TIM1输出PWM,那就配置TIM1就行,初始化定时器就是配置时基单元(周期),配置PWM就是配置比较寄存器(占空比)。 其实没有看懂你第一句话要表达什么。 |
|
|
|
感觉应该是楼主的算法没有做好。
|
|
|
|
是不是要做逆变?
|
|
|
|
可能是我没表述清楚 我现在用tim1的ch1输出pwm方波控制电磁铁,另外用tim3作为定时器计时,每隔固定时间(比如20s)改变pwm的频率和占空比。就按照第一个帖子中的两个数组来设置参数。 现在的问题是按照 pwm_init(); tim3_init()的顺序初始化,pwm的输出就按照数组从小到大输出, 但是按照 tim3_init(); pwm_init()的顺序初始化,pwm的输出就按照数组从大到小输出,相当于完全相反。 不知道这样描述清楚了吗? |
|
|
|
djw200988 发表于 2018-11-21 18:56 方便把代码放上来吗? |
|
|
|
你好,请问楼主解决了这个问题了?我现在好像也遇到类是的问题。
|
|
|
|
|
|
|
|
我的问题已经解决了。我是调用了高级定时器,但是由于结构体中有部分成员没初始化,所以导致了部分成员按照默认的进行初始化,所以出现问题了。 |
|
|
|
不可能出现这种情况啊,应该是没有初始化完全就开启了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1016 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
787 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1174 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1643 浏览 1 评论
544 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:53 , Processed in 0.479352 second(s), Total 56, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号