stm32cubemx配置定时器的编码器模式上次文章写了编码器是如何工作的,今天就来用stm32f103c8t6的tim3的通道1跟通道2编写一个编码器识别程序。
编程思路:a相:tim3_ch1b相:tim3_ch2switch:pb5(外部中断的方式)实现效果:编码器顺时针旋转编码器计数值 +1编码器逆时针旋转编码器计数值 -1按下switch编码器计数值值清 0话不多说,上教程!
1.配置时钟选择外部高速时钟源hse
在这里插入图片描述
2.配置switch管脚为外部中断模式(默认上拉)选择中断模式触发下降沿有效默认是上拉输入添加用户标签为switch
在这里插入图片描述
使能nvic配置
在这里插入图片描述
3.配置定时器管脚为编码器模式选择编码器模式分频值设置为2-1计数值设置为1自动重装载值1自动重载使能通道1,2都计数都是上升沿有效
在这里插入图片描述
4.配置时钟到72mhz手动输入72mhz自动匹配
在这里插入图片描述
5.配置工程属性填写工程名字选择工程路径选择工程平台(keil mdk)6.配置工程代码属性拷贝必要的库文件单独形成.c跟.h文件
在这里插入图片描述
7.生产工程并添加修改代码直接打开工程修改必要代码
在这里插入图片描述
7.1修改定时器代码添加一个自定义结构体/* user code begin private defines */typedefstruct{ int encoder_val; int encoder_dir;}ec11_t;extern ec11_t ec11;/* user code end private defines */编写一个中断回调函数
编写回调函数逻辑代码
/* user code begin 0 */ec11_t ec11;/* user code end 0 *//* user code begin 1 */void hal_tim_periodelapsedcallback(tim_handletypedef *htim){ uint8_t dir = 0; if(htim == &htim3) { dir = __hal_tim_is_tim_counting_down(&htim3); if(dir==1) { ec11.encoder_val++; ec11.encoder_dir = 1; } if(dir==0) { ec11.encoder_val--; ec11.encoder_dir = -1; } }}/* user code end 1 */7.2修改外部中断代码添加一个中断回调函数
/* user code begin 1 */void hal_gpio_exti_callback(uint16_t gpio_pin){ ec11.encoder_val = 0;}/* user code end 1 */7.3修改初始化代码/* user code begin tim3_init 2 */ __hal_tim_clear_it(&htim3,tim_it_update); hal_tim_encoder_start(&htim3, tim_channel_all); __hal_tim_enable_it(&htim3,tim_it_update); /* user code end tim3_init 2 */8.下载调试代码现象1顺时针旋转编码器值加1
在这里插入图片描述
现象2顺时针旋转编码器值减1
在这里插入图片描述
按键按下编码器值清零
在这里插入图片描述
9.总结至此编码器已经全部写完了。stm32cubemx的使用比较方便,注意一点就是如果修改代码尽量写到英文的注释中去,这样即使再重新修改cubemx配置重新生成代码也不会改变原来的程序,否则原来的代码就没了,别问我咋知道的血泪的教训啊!!!
跌落式熔断器熔丝计算_跌落式熔断器电气符号
RFTOP推出全新250V毫米波系列隔直器
钒电池的技术优势有哪些?
鼎信通讯选择Accent器件制造完美的电力线通信解决方案
程序员到底是做什么的
STM32CubeMx配置定时器的编码器模式
一周新品推荐:NXP的 LPC553x/S3x MCU系列和PUI Audio 的触觉反馈元件
ios系统为何频繁更新,ios10.2更新了啥?
YOLOX模型ONNX格式说明
华为携手伙伴联合点亮“城市鸿蒙+”场景
红狮控制重磅推出NT4008系列管理型千兆工业以太网交换机
关于光模块封装的发展介绍
户外运动哪种蓝牙耳机好,适合户外运动的蓝牙耳机前十推荐
工业机械液压缸套飞机逆向设计三维激光扫描产品设计激光扫描仪价格
直流稳压电源设计环节中问题处理方法
MWC2023:深化行业场景创新,聚合伙伴生态,华为发布中小企业业务战略
国产CPU和操作系统争光 中国新型装甲车首搭“中国芯”
2020值得买的电动牙刷推荐,便宜高性价比牙刷品牌排行榜
电子电路噪声的来源_电子电路抑制干扰的方法
首尔半导体SunLike系列获美国照明技术权威认证 入选世界首创技术