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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用的STM32F103C6,连接一个分辨率为2000的编码器  |/ K2 W, d( J2 |+ [3 D: L. f0 j
定时器选择编码器模式,选择T1 T2都触发
" E) \9 P( f* M6 ?# g3 l' A- w, B如果考虑逆时针和顺时针的话,只能转四圈就计数器就溢出了' A% z6 z. M6 M: s

7 U4 J' {( j4 }2 }: o$ a  o请问有没有什么解决办法?
0 g" T" ^- D3 J$ j尽可能保证精度
) z: D; T- n! p* }2 [9 r/ f* t7 F

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 10:31 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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