stm32 中央对称模式(在向上计数时会产生溢出更新,在向下计数时会产生下溢更新,这样两个更新都会重载新设置的占空比设定值,但我想只在下溢的时候产生更新,上溢的时候不产生) 怎样配置为计数器为0 的时候产生更新事件,更新新的占空比,求帮忙解答,谢谢
你好,我现在用进入中断方式判断TIM1的计数器的值来确定是上溢还是下溢,但是进入中断后用if(TIM_GetCounter(TIM1) == 1)
{
flag = 1;
}来判断是否下溢对吗?怎么一直进不到里面呢,更新中断倒是能进去,麻烦帮忙指点,谢谢。
不知道你问题解决了没,但是这样判断肯定是不行的,以计时器的速度,当你读取的时候肯定已经超过1了,可以用读取值和ARR值的一半来比较判断,不过我没试过这样做,不知道是否可行
这样的话那就定时器中断中只设置判断是上溢还是下溢的中断标志位,AD中改变占空比之前先查询标志位,符合要求了再改变
谢谢你的回复,请问怎么知道是上溢中断?怎么设呢?请帮忙解答,谢谢
还有我改变占空比不能再TIM的中断中进行,我做SPWM的控制产生,需要在AD中改变占空比。请问能有什么方法吗?
好像没有直接的标志位,可以通过查询当前计数器的值来判断吧
我已经用重复计数寄存器了,可是在AD中断里面控制产生的SPWM波还是不对,求高手指点啊,谢谢
那就不太清楚了
还是非常感谢你的回复指点。
问题解决了吗?
谢谢你的回复指点,我试试。谢谢
我已经用重复寄存器设置了,现在发现我的AD触发的定时和产生PWM的定时有可能不同步,正在进一步实验,谢谢
恩,只要不放弃一定会解决