收藏10 举报
STM32的硬件编码器是16位的,要是超过65536就会麻烦一些 目前我的项目中需要用到一个光栅尺,栅距是0.5um,但我的行程是40cm,最大计数是80000,要是在计数器溢出的时候再反向走,就会出现错误 我考虑是否可以这样, ... auzxj 发表于 2010-4-23 19:51
10# lxyppc 在我的项目中,你10楼的这种假设是成立的,1秒内都不会溢出,劳烦详述work around方法 预分频器怎么读出来是问题的关键 auzxj 发表于 2010-4-23 21:55
查看全部评分
这个是我经常用的编码器读取方法 s16 Enc_GetCount(void) { static u16 lastCount = 0; u16 curCount = ENCODER_TIM->CNT; s32 dAngle = curCount - lastCount; if(dAngle >= MAX_COUNT){ dAng ... lxyppc 发表于 2010-4-23 23:12
您的这种方法依然规避不了我7楼的那种情况吧,计数器正向加,然后溢出,假如溢出后又累加了N个数,若此时计数器反向减超过N就会出现错误 auzxj 发表于 2010-4-26 13:13
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
等级类勋章
发帖类勋章
人才类勋章
时间类勋章
1
5
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号