• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于stm32编码器模式下的计数问题

dadaxiu 2020-11-18 浏览量:1343
在做编码电机的时候有个问题一直困扰我好久,F4的编码器模式下的工作方式如下图所示,我不明白的地方是,CNT寄存器在未计数是初始值是0吗?如果是0的话,要是一开始就B相就超前A相90度,CNT递减,但是CNT寄存器没有极性,不能表示正负,而且CNT寄存器里面初值是0,这时侯如何递减呢?最低就是0了。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我是这么用的,将初值设置为32767,然后根据数据大于还是小于32767判断正反转的

    另外可以通过__HAL_TIM_GET_COUNTER()函数获取正反转信息

    • 发布于 2020-11-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • https://www.icxbk.com/article/detail/1854.html

    这篇文章有讲编码器的使用,可以判断DIR位来判断是加还是减,从而来判断方向

    • 发布于2020-11-18
    • 举报
    • 评论 0
    • 1
    • 0

  • 如果是16位计数器那么0再减一次就是65535,不会出现到0不递减的情况
    • 发布于2020-11-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于stm32编码器模式下的计数问题