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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用的STM32F103C6,连接一个分辨率为2000的编码器
( Y$ t5 O8 n6 A/ s; l定时器选择编码器模式,选择T1 T2都触发
9 O, v" t$ ^! z, ]: y" v' ]/ _/ `如果考虑逆时针和顺时针的话,只能转四圈就计数器就溢出了1 ^* f* u! Z0 o- k( d( H0 ~
+ A# H! Y$ T" e
请问有没有什么解决办法?: S+ H- V) ]' v% l$ H
尽可能保证精度% A3 e3 y2 K  s% ?7 Z6 i) y2 ~

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-12 06:37 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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