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

[项目]基于FreeRTOS的STM32四轴飞行器: 七.遥控器按键

基于FreeRTOS的STM32四轴飞行器: 七.遥控器

  • 一.遥控器按键摇杆功能说明
  • 二.摇杆和按键的配置
  • 三.按键扫描

一.遥控器按键摇杆功能说明

两个手柄四个ADC。
左侧手柄
前后推为飞控油门,左右推为控制飞机偏航角。
在这里插入图片描述
右侧手柄
控制飞机飞行方向,向前飞向后飞。
在这里插入图片描述
按键:
可以用于控制飞行微调或者定义一键关机一键定高等功能。
在这里插入图片描述

二.摇杆和按键的配置

按键原理图:
在这里插入图片描述
在这里插入图片描述
观察按键电路配置,按下为低电平所以设置为上拉输入
在这里插入图片描述
摇杆原理图:
左侧手柄上下控制ADC1-1,左右控制ADC1-6。
右侧手柄上下控制ADC1-2,左右控制ADC1-3。
在这里插入图片描述
配置:
ADC的时钟不能超过14MHZ,因为超过会导致ADC时钟精度下降结果不准,HAL库强制不让超过。
在这里插入图片描述
数据对齐方式:
左对齐和右对齐,数据寄存器只有8,16,32位,ADC采集到的数据只有12位,所以可以放在左侧12位或右侧12位,一般右对齐。
在这里插入图片描述
扫描模式:
将使用的ADC1通道挨个扫描一遍,当多通道时一定要开扫描模式。
在这里插入图片描述
先将Number Of conversion设为4:
在这里插入图片描述
这时可以Enabled:
在这里插入图片描述
连续模式(Continuous Conversion Mode):
在扫描完一次后扫描第二次,要设置为Enable。
在这里插入图片描述
ADC规则转换模式:
一般使用规则转换,四个通道只有一个数字寄存器,必须开启DMA,外部触发源使用软件触发。
之后会开启DMA长度为四的数组存储数据,Rank决定了数据放在DMA数组的哪个位置。
在这里插入图片描述
在这里插入图片描述
根据原理图配置Rank,设置Sampling Time为13.5 Cycles:
在这里插入图片描述
配置DMA:
选择Normal(循环)模式,数据宽度选择Half Word,因为ADC的值都为uint16使用uint16类型。
在这里插入图片描述
还要将DMA中断关闭,如果不关中断,转换完后进入中断函数,不会执行正常代码。
在这里插入图片描述

三.按键扫描

摇杆初始化:
先使用ADC校准,再启动ADC转换。
在这里插入图片描述
创建按键枚举类型:
在这里插入图片描述
定义读取按键:
在这里插入图片描述
扫描按键:
这时按键为短按的情况。
在这里插入图片描述
处理长按逻辑:
处理手柄左上角和右上角的按键长按逻辑,定义time变量记录时间,while判断按键按下且time<12增加time数值,在按键松开或者time>12跳出while,继续执行下面的判断time<=5就是短按,否则为长按,继续使用while判断按键是否松开,最后返回枚举长按值。
在这里插入图片描述
在将该处while注释后,长按逻辑会有问题,因为在最后松开长按时可能time<=5,发生误识别
在这里插入图片描述
创建按键扫描任务:
在这里插入图片描述
在这里插入图片描述
查看串口数据打印正常:
在这里插入图片描述

相关文章:

  • 【Recon】Git源代码泄露题目解题方法
  • java项目之基于ssm的智能训练管理平台(源码+文档)
  • 每日一题-----面试
  • 【Transformer优化】Transformer的局限在哪?
  • docker启动jenkins,jenkins中调用docker
  • KubeKey 与 KubeSphere:快速构建 Kubernetes 集群
  • 用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏
  • 通过定制initramfs实现从单系统分区到双系统的无缝升级
  • python自动工具起号迅速,批量自动发布各类短视频
  • C语言数据结构之顺序表
  • 剑指 Offer II 063. 替换单词
  • 计算机视觉算法实战——老虎个体识别(主页有源码)
  • Python中的装饰器(Decorator) 详解
  • 六十天前端强化训练之第十二天之闭包深度解析
  • 【RK3588嵌入式图形编程】-SDL2-SDL_Image使用详解
  • 3D空间曲线批量散点化软件V1.0正式发布,将空间线条导出坐标点,SolidWorks/UG/Catia等三维软件通用
  • 为什么 MySQL InnoDB 的 Repeatable Read 可以阻止幻读?
  • Django工程获取请求参数的几种方式
  • 一遍通俗易懂的新华三交换机文档指南操作手册
  • AI日报 - 2025年3月10日
  • 1至4月全国铁路发送旅客14.6亿人次,创同期历史新高
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查
  • 中国巴西民间推动建立经第三方验证的“森林友好型”牛肉供应链
  • 通化市委书记孙简升任吉林省副省长
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 香港根据《维护国家安全条例》订立附属法例