程序笔记   发布时间:2022-07-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了hal 编码器做用户输入时捕获初值的设置大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
        uint16_t encoderDirection = __HAL_TIM_IS_TIM_COUNTinG_DOWN(&htim3);
        uint16_t encoderValue = __HAL_TIM_GET_COUNTER(&htim3);

主要就这两句代码

一个获取方向,正转0 反转1(编码器接反了的话,这个值相应的也就比反过来)

另一个时获取捕获值

但是如果我只想用编码器做用户输入

那一会是0 2 4 6一会是65535 65533 65531方便呢还是从32767开始正转 32769 32771反转32765 32763方便呢?

显然是后者

不需要虑方向了这样就可以节约一些代码空间

如果芯片FLASH大还好说,但目前这个情况,32kb的f031大概3元,64的就要十几块,所以肯定选小的

hal 编码器做用户输入时捕获初值的设置

 

flash不够了,能少写几行算几行啊

所以,我选择初始化后,给定时器CNT一个初始值

翻了翻HAL好像没有直接操作定时器CNT的函数,所以自己操作寄存器吧

htim3.Instance->CNT |= ecnInitValue;

 

hal 编码器做用户输入时捕获初值的设置

 

大佬总结

以上是大佬教程为你收集整理的hal 编码器做用户输入时捕获初值的设置全部内容,希望文章能够帮你解决hal 编码器做用户输入时捕获初值的设置所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。