找回密码
 注册
关于网站域名变更的通知
查看: 205|回复: 2
打印 上一主题 下一主题

STM32编码器模式下,定时器只有16位,不够用怎么办?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-1-17 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用的STM32F103C6,连接一个分辨率为2000的编码器
- }4 V1 y- B) f% G3 X3 ]  d9 ?7 n定时器选择编码器模式,选择T1 T2都触发
. ?; q4 V8 Z4 l  A/ D" i如果考虑逆时针和顺时针的话,只能转四圈就计数器就溢出了
/ a5 O! X3 q$ ~
" Y3 f6 L5 E5 S请问有没有什么解决办法?
  d8 E/ k+ L' b/ l0 w& ^尽可能保证精度
, J6 R2 x5 F2 O0 R* o$ f0 W, u9 H0 i" o

该用户从未签到

2#
发表于 2022-1-17 14:18 | 只看该作者
开中断,溢出后中断里给8位变量++, 那么你就等于有 24位 定时器了, 如果给 16位变量++, 那么你等于有32位定时器了。

该用户从未签到

3#
发表于 2022-1-17 14:40 | 只看该作者
16位定时器还不够?是你的处理方式不对,一圈才2000,你转一圈的时间要多少,你10ms读一次数然后清零计数值不就可以了?不存在你说的溢出好吧,除非你几秒钟才读一次,那肯定会溢出的,想都不用想。
  t) f: o) R3 Y: p8 D0 H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 09:07 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表