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

单片机-STM32部分:9-1、触控检测芯片

飞书文档https://x509p6c8to.feishu.cn/wiki/ILBsw4EaQiWaUukWrxEcO4XZnXc

传统物理按键

原理

玻璃盖板下通过一个触摸PAD连接到触摸芯片中,触摸PAD可以用PCB铜箔、金属片、平顶圆柱弹簧、导电棉、导电油墨、导电橡胶、导电玻璃的ITO层等。

当有人体手指靠近触摸按键时,人体手指与大地构成的感应电容并联焊盘与大地构成的感应电容,会使总感应电容值增加。

电容式触摸按键IC在检测到某个按键的感应电容值发生改变后,将输出某个按键被按下的确定信号。

PT2041A 是一款单通道触摸检测芯片。该芯片内建稳压电路,提供稳定电压给触摸感应电路使用, 同时内部集成高效完善的触摸检测算法,使得芯片具有稳定的触摸检测效果。该芯片专为取代传统 按键而设计,具有宽工作电压与低功耗的特性,可广泛地满足不同消费类应用的需求

所以,对于STM32来说,我们只需要关注QC的IO有没有电平变换,即可判断有没有手指按下。

所以这部分的代码与按键部分是完全一样的,我们可以参考7、GPIO输入 按键编写。

首先,设置PC0为输入模式,修改标签名为PAD_KEY

 同时添加LED1作为测试效果展示

然后生成工程。

添加测试代码

  while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0) //判断按键KEY是否被按下{HAL_Delay(10);//延时10ms消除按键抖动if(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0){//再次判断KEY是否依然被按下HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);      //对LED引脚进行取反操作while(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0);  //等待按键抬起}}}/* USER CODE END 3 */

参考工程

参考飞书文档

http://www.dtcms.com/a/180146.html

相关文章:

  • LVGL的核心:lv_timer_handler
  • Vue3 el-tree:全选时只返回父节点,半选只返回勾选中的节点(省-市区-县-镇-乡-村-街道)
  • Python代码编程基础
  • 创始人IP的重塑与破局|创客匠人热点评述
  • webpack代理天地图瓦片
  • 创始人 IP 的破局之道:从技术突围到生态重构的时代启示|创客匠人评述
  • 英文单词 do、play、go 的区别
  • 【LangChain全栈开发指南】从LLM集成到智能体系统构建
  • 安全核查基线-2.nfslock服务
  • 企业高性能WEB服务器—Nginx
  • golang -- 如何获取变量类型
  • ISP流程介绍(Raw格式阶段)
  • 《Vuejs设计与实现》第 5 章(非原始值响应式方案) 上
  • 发那科机器人5(异常事件和程序备份加载+ROBOGUIDE离线仿真)
  • 二叉树的深度
  • Conda激活环境无效
  • 对称加密以及非对称加密
  • transformer 笔记 tokenizer moe
  • [Windows] 希捷(Seagate)硬盘官方检测工具 - SeaTools(1.4.0.7)
  • 【身份证识别表格】批量识别身份证扫描件或照片保存为Excel表格,怎么大批量将身份证图片转为excel表格?基于WPF和腾讯OCR的识别方案
  • Path to Integer_ABC402分析与解答
  • SCDN是什么?
  • 上班摸鱼远程打游戏,哪款远控软件好用点?
  • 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)
  • MySQL如何优雅的执行DDL
  • 图解gpt之神经概率语言模型与循环神经网络
  • 【应急响应】- 日志流量如何分析?
  • SecureCRT网络穿透/代理
  • 网络研讨会开发注册中, 5月15日特励达力科,“了解以太网”
  • 深入理解C/C++内存管理:从基础到高级优化实践