专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
高级定时器 重复计数 PWM控制步进电机 库函数版
2019-07-20 23:56
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
5196
3
987
高级定时器器的重复计数功能可避免在控制精确脉冲个数时频繁进中断函数,上图(公司电脑有保护,只能截图,见谅)
这里重复计数器值预设为1(2个脉冲进一次中断,最大值127,也就是最大128个脉冲进一次中断),最后验证发20个,结果电机抖了40次,!
在中断里面可以更新频率,不知道可不可以更新重复计数器的值 ,中文参考手册上有点模糊,不是太懂,大侠们要是知道的话回复下!
另外一开始用的是通道1-PA8,结果不行,改了通道2-PA9就可以了,会不会是因为这个,实在不明白,大侠们帮看看!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
dalianlwd
1楼-- · 2019-07-21 01:09
这几天也在测试重复计数器。
你的应用没有用到RCR,就是溢出中断,给RCR的值必须减1才是你要的脉冲数。
加载中...
hxyqq87
2楼-- · 2019-07-21 02:15
精彩回答 2 元偷偷看……
加载中...
dalianlwd
3楼-- · 2019-07-21 02:54
你根本就没理解RCR的使用,你的RCR是1,就是两个脉冲,中断一次就是两个脉冲,dangqian记录的是进入中断的次数,计了两个脉冲,实际上num=20,就是40个脉冲,所以你的电机抖了40次。为什么抖?是因为你设的频率超过步进电机的启动频率。所以根本启动不起来。你的那个Mytime1_startup函数和中断函数,就是溢出中断的方式,那种频繁进中断的方式,根本不受控与RCR,所以有人就使用两个定时器的主从方式,来避免这种频繁进中断的方式。RCR是硬件方式,RCR是要赋值0-255的数,一次更新就可以完成这0-255数之间的任何数,而且还要改变ARR或PSC实现变频。哪还需要dangqian++去计数,去判断,累不累,中断里就是清除标志位,关中断,其他什么也不需要做,甚至不用中断也可以实现。具体你还是自己去体会吧。估计你还是坚信你这就是RCR方式。
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
你的应用没有用到RCR,就是溢出中断,给RCR的值必须减1才是你要的脉冲数。
一周热门 更多>