当前位置: 首页 > news >正文

复刻江协旋钮控制模块

复刻江协旋钮控制模块

1、初始化硬件

OLED初始化

  • 这里就不展开细讲了,可以看我之前的帖子

复刻江协激光触发器

旋钮初始化

  • 使能外部中断
    img
  • 模式改为上拉
    img
  • 根据旋钮接口接上线

2、操作代码

(1) 初始化输出

  • 定义全局变量count,并初始化值为0,表示旋钮的相对位置
/* USER CODE BEGIN 0 */
int32_t count = 0;
/* USER CODE END 0 */
  • 在第一行,顶格位置显示字符串count:
	OLED_ShowString(1, 1, "count:");/* USER CODE END 2 */
  • 在循环体内输出相对位置的值

注意:OLED_ShowNum()函数不支持输出复数,所以需要额外步骤来进行判断

  /* USER CODE BEGIN WHILE */while (1){//判断正负性if(count >= 0){//如果为非负数,加'+'OLED_ShowChar(2, 1, '+');OLED_ShowNum(2, 2, count, 10);}else{//如果为复数,加'-'并对相对位置的值取反OLED_ShowChar(2, 1, '-');OLED_ShowNum(2, 2, -count, 10);}/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}

(2) 中断回调函数

  • 由于旋钮总共有2个输出接口,所以需要判断中断触发源
/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){//判断中断源if(GPIO_Pin == PinA_Pin){//如果为A口触发,则增加相对位置int i = 3000;//消抖while(i){i--;}count++;}		else if(GPIO_Pin == PinB_Pin){//如果为B口,则减小相对位置int i = 3000;while(i){i--;}count--;}
}
/* USER CODE END 4 */

3、实验效果

  • 向右拧旋钮后,相对位置增加
    img
  • 向左拧旋钮后,相对位置减小
    img

4、流程图

主程序部分

img

中断部分

img

http://www.rkmt.cn/news/14071.html

相关文章:

  • c语言switch和if语句
  • Qt(制作一个方便的文本编辑器)
  • tldr的安装与利用
  • 题解:P7126 [Ynoi2008] rdCcot
  • 实用指南:汽车地带AutoZone EDI需求分析及对接指南
  • 航司网站url后缀参数FECU分析
  • 优化 if/else 的四种设计模式
  • 多corner综合
  • Day11-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\oop\demo06
  • OpenLayers地图交互 -- 章节十一:拖拽材料交互详解
  • 通过IDOR实现权限提升导致未授权用户注入
  • kuboard使用的etcd空间满了如何处理
  • 从拆盒到共创:手办盲盒抽赏小程序的多元体验与文化联结 - 实践
  • xinference推理embedding等小模型
  • day15-项目上线
  • Docker入门 - 实践
  • react useCallback Hook详解
  • 实用指南:小米17手机的上市公司供应商
  • cloudfared 内网穿透经过docker方式遇到的问题
  • CDN + WAF + CLB + Higress 架构下的 TLS 加解密详细解析(适用阿里云)
  • CF407E k-d-sequence 题目分析(0929模拟赛最后一题)
  • vue3踩坑:静态dom无法初始化渲染 - 父组件props与侦听器的交互
  • Mysql DBA学习笔记(客户端常用工具) - 教程
  • MATLAB 中 dsp.FFT 系统对象:从原理到实践的完整指南
  • C# Devexpress GridControl实现全选功能(转载,记录)
  • Nordic发布用于nRF54L系列的nRF Connect SDK裸机选项
  • 微软SSO集成中的顺序用户ID身份验证绕过漏洞剖析
  • shell脚本动态域名解析阿里云
  • 对称加密和非对称加密原理对比
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1180)