企业网站策划论文,别人的网站是怎么做的,网站范例,免费ppt模板下载网址不需要会员目录
1 、 电路构成及原理图
2 、编写实现代码
3、代码讲解
4、烧录到开发板调试、验证代码
5、检验效果 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。
1 、 电路构成及原理图 触摸键简单的了解就是一次电容的充放电过程。从原理图可以看出#xff0c;触摸键 …
目录
1 、 电路构成及原理图
2 、编写实现代码
3、代码讲解
4、烧录到开发板调试、验证代码
5、检验效果 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。
1 、 电路构成及原理图 触摸键简单的了解就是一次电容的充放电过程。从原理图可以看出触摸键 TOUCH 实质就是一个物理意义上的电容并且接有上拉电阻 RT 到 3.3v同时还通过用短路帽短接 P5 的 4-5 脚连接到 STM32的 PA1 引脚。没有触摸的时候触摸键这个物理上的电容的充放电时间是相对固定的当手指触摸到触摸键的时候就人为的改变了这个电容的容量也就是改变了电容的充放电时间就是通过判断这个“触摸”电容的充放电时间的变化来实现触摸识别的。 2 、编写实现代码
main.c touch.c 3、代码讲解 代码中我们使用 TIM5 的输入捕获来实现“触摸键电容“和”触摸时电容“的充放电时间的计数。先看源文件 touch.c 首先初始化 TIM5用通道 2(PA1)作为输入捕获的引脚。注意 这里先在头文件 touch.h 中宏定义了 TIM5 最大重填值 #define touch_ARR 0XFFFF //宏定义 TIM5 最大重填值、 定义了全局变量 default_cnt 也就是无触摸时充电时间。 这里初始化触摸按键首先调用 TIM5 初始化函数并将自动从装值设为 0Xffff(在 touch.h 中宏定义的)分频系数设为 1。初始化循环调用获取输入捕获值函数 touch_Capture() 10 次并将捕获值累计在临时变量 temp 中之后再取平均值并赋值个全局变量 default_cnt这 个值实际就是没有触摸发生时“触摸键电容”的充电时长。 最后判断 default_cnt 是否在合理的计数范围内需根据实际触 摸键的情况调整如果在合理的范围内就返回 1 表示初始成功否 则就返回 0 表示初始化失败。 4、烧录到开发板调试、验证代码 5、检验效果
用手指触摸一下触摸键 LED2 熄灭了吧再触摸一次 LED2 又点亮了.