完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32 中央对称模式(在向上计数时会产生溢出更新,在向下计数时会产生下溢更新,这样两个更新都会重载新设置的占空比设定值,但我想只在下溢的时候产生更新,上溢的时候不产生) 怎样配置为计数器为0 的时候产生更新事件,更新新的占空比,求帮忙解答,谢谢
|
|
相关推荐
20个回答
|
|
在上溢中断的时候改变占空比,则在下溢更新的时候改变生效
|
|
|
|
谢谢你的回复,请问怎么知道是上溢中断?怎么设呢?请帮忙解答,谢谢 |
|
|
|
还有我改变占空比不能再TIM的中断中进行,我做SPWM的控制产生,需要在AD中改变占空比。请问能有什么方法吗? |
|
|
|
好像没有直接的标志位,可以通过查询当前计数器的值来判断吧 |
|
|
|
这样的话那就定时器中断中只设置判断是上溢还是下溢的中断标志位,AD中改变占空比之前先查询标志位,符合要求了再改变 |
|
|
|
有一个定时器的寄存器中有一个重复计数寄存器,这个寄存器是用来专门解决你说的这个问题的
|
|
|
|
我已经用重复计数寄存器了,可是在AD中断里面控制产生的SPWM波还是不对,求高手指点啊,谢谢 |
|
|
|
那就不太清楚了 |
|
|
|
|
|
|
|
|
|
|
|
谢谢你的回复指点,我试试。谢谢 |
|
|
|
我已经用重复寄存器设置了,现在发现我的AD触发的定时和产生PWM的定时有可能不同步,正在进一步实验,谢谢 |
|
|
|
你好,我现在用进入中断方式判断TIM1的计数器的值来确定是上溢还是下溢,但是进入中断后用if(TIM_GetCounter(TIM1) == 1) { flag = 1; }来判断是否下溢对吗?怎么一直进不到里面呢,更新中断倒是能进去,麻烦帮忙指点,谢谢。 |
|
|
|
恩,只要不放弃一定会解决 |
|
|
|
leilijiao 发表于 2018-9-29 09:17 不知道你问题解决了没,但是这样判断肯定是不行的,以计时器的速度,当你读取的时候肯定已经超过1了,可以用读取值和ARR值的一半来比较判断,不过我没试过这样做,不知道是否可行 |
|
|
|
djw200988 发表于 2018-9-29 09:45 还没解决,还在调试和办法寻找中。。。。。。 |
|
|
|
djw200988 发表于 2018-9-29 09:45 你说的“用读取值和ARR值的一半来比较判断”是什么意思,不是很明白,请明示,谢谢。 |
|
|
|
刚刚想到的,这样做应该更准确:读TIMx_CR1的DIR位,即计数方向位,中心对齐模式下该位是只读的,为0向上计数,则刚刚发生了下溢,为1向下计数,则刚刚发生了上溢
|
|
|
|
djw200988 发表于 2018-9-29 10:20 谢谢你的热心指导,昨天下午就采用这种方法,一直不对,今天上午调试好了,非常感谢。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1107 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1055 浏览 2 评论
2159 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1253 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1678 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 08:03 , Processed in 1.151818 second(s), Total 77, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号