CW32模块与TTP224触摸传感器的使用

时间:2025-09-17  作者:Diven  阅读:0

该模块是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。常态下,模块输出低电平,模式为低功耗模式;当用手指触摸相应位置时,模块会输出高电平,模式切换为快速模式;当持续12秒没有触摸时,模式又切换为低功耗模式。可以将模块安装在非金属材料如塑料、玻璃的表面。也可以将薄薄的纸片(非金属)覆盖在模块的表面,直到触摸的位置正确,即可做成隐藏在墙壁、桌面等地方的按键。该模块可以让你免除常规按压型键的烦恼。

CW32模块与TTP224触摸传感器的使用

01模块来源

模块实物展示:

wKgaombqgsWAWgjpAAA3HrTUR0Y81.webp


资料下载链接:https://pan.baidu.com/s/1lBksfqx_dT4uIyABkHVm3Q
资料提取码:hj2n

02 规格参数

工作电压:2.4-5.5V

工作电流:2.5uA~9uA

模块尺寸:35x29 mm

最快响应时间:100Ms

控制方式:GOIO

管脚数量:6 Pin(2.54mm间距排针)

以上信息见厂家资料文件

03移植过程

我们的目标是将例程移植至CW32F030C8T6开发板上【实现添加指纹、删除指纹和搜索指纹的功能】。首先要获取资料,查看数据手册应如何实现读取数据,再移植至我们的工程。

3.1查看资料

主要就是使用4个GPIO监控模块的OUT1~4的输出情况,那个OUT输出则说明那个对应模块的区域被触摸。

3.2引脚选择

wKgZombqgsaABSO7AAB7kg8Qrws84.webp

接线表

3.3移植至工程

移植步骤中的导入.c和.h文件与【CW32模块使用】DHT11温湿度传感器相同,只是将.c和.h文件更改为bsp_touchkey.c与bsp_touchkey.h。这里不再过多讲述,移植完成后面修改相关代码。

在文件bsp_touchkey.c中,编写如下代码。

#include "bsp_touchkey.h"void TTP224_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化结构体 RCC_TTP_ENABLE(); // 使能GPIO时钟 GPIO_InitStruct.Pins = GPIO_IN1| // GPIO引脚 GPIO_IN2| GPIO_IN3| GPIO_IN4; GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLDOWN; // 下拉输入 GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; // 输出速度高 GPIO_Init(PORT_TTP, &GPIO_InitStruct); // 初始化}char Key_IN1_Scanf(void){ return KEY_IN1;}char Key_IN2_Scanf(void){ return KEY_IN2;}char Key_IN3_Scanf(void){ return KEY_IN3;}char Key_IN4_Scanf(void){ return KEY_IN4;}

在文件bsp_touchkey.h中,编写如下代码。

#ifndef _BSP_TOUCHKEY_H_#define _BSP_TOUCHKEY_H_#include "board.h"#define RCC_TTP_ENABLE() __RCC_GPIOA_CLK_ENABLE()#define PORT_TTP CW_GPIOA#define GPIO_IN1 GPIO_PIN_1#define GPIO_IN2 GPIO_PIN_2#define GPIO_IN3 GPIO_PIN_3#define GPIO_IN4 GPIO_PIN_4#define KEY_IN1 GPIO_ReadPin(PORT_TTP, GPIO_IN1)#define KEY_IN2 GPIO_ReadPin(PORT_TTP, GPIO_IN2)#define KEY_IN3 GPIO_ReadPin(PORT_TTP, GPIO_IN3)#define KEY_IN4 GPIO_ReadPin(PORT_TTP, GPIO_IN4)void TTP224_GPIO_Init(void);//引脚初始化char Key_IN1_Scanf(void);//触摸按键1的输入状态char Key_IN2_Scanf(void);//触摸按键2的输入状态char Key_IN3_Scanf(void);//触摸按键3的输入状态char Key_IN4_Scanf(void);//触摸按键4的输入状态#endif

04移植验证

在自己工程中的main主函数中,编写如下。

#include "board.h"#include "stdio.h"#include "bsp_uart.h"#include "bsp_touchkey.h"int32_t main(void){ board_init(); // 开发板初始化 uart1_init(115200); // 串口1波特率115200 TTP224_GPIO_Init(); printf("ttp224 demo startrn"); while(1) { if(Key_IN1_Scanf() == 1) { printf("[1]-Touch!rn"); while(Key_IN1_Scanf() == 1); // 等待松开 } if(Key_IN2_Scanf() == 1) { printf("[2]-Touch!rn"); while(Key_IN2_Scanf() == 1); // 等待松开 } if(Key_IN3_Scanf() == 1) { printf("[3]-Touch!rn"); while(Key_IN3_Scanf() == 1); // 等待松开 } if(Key_IN4_Scanf() == 1) { printf("[4]-Touch!rn"); while(Key_IN4_Scanf() == 1); // 等待松开 } delay_ms(200); }}

移植现象:触摸那个区域就打印那个区域被触摸。

wKgaombqgseASDj1AABuIk5rMog83.webp

模块移植成功案例代码:

链接:https://pan.baidu.com/s/166WcF1ArFv-DnEUmhNz5xA?pwd=LCKF

提取码:LCKF
审核编辑 黄宇

猜您喜欢

电阻器作为基础元件在电路中起着非常重要的作用。尤其是在恶劣环境下工作的电阻器,其防硫化性能直接影响设备的稳定性和寿命。泰科电子(TE Connectivity)...
2025-03-13 09:40:20

电动车已成为现代生活中越来越普遍的交通工具,而锂电池作为电动车的核心部件,其寿命和性能直接影响着我们的出行体验。正确的充电方法不仅能延长电池的使用寿命,还能保证...
2024-05-08 00:00:00

电阻作为基础的电子元件,其性能直接影响整个电路的稳定性和可靠性。特别是四端子电阻,因其高精度和稳定性,应用于精密测量、实验室设备以及工业控制等领域。而台康(TA...
2016-12-05 06:00:30

LED技术在过去几年中迅速发展。LED驱动电源是确保灯具正常工作的关键部分。安规电容在其中是重要配件。本文将详细探讨LED驱动安规电容的作用。安规电容的定义安规...
2025-03-23 15:01:07

电子元器件中,NTC热敏电阻(Negative Temperature Coefficient Thermistor)是常见的温度传感器,其特点是电阻值随温度的...
2025-04-14 03:30:03

在一个研发项目进行的过程中,需求可能会变化,进度要求可能会改变,成本可能会溢出。每个项目都存在许多技术和运营挑战,但没有什么比FPGA硬件开发更危及项目或给工程...
2022-02-25 15:26:00

在选择排刷或滚刷时,规格尺寸是一个非常重要的考虑因素。排刷通常用于清洁或处理表面,其规格通常包括刷毛的长度、直径和刷体的宽度。常见的排刷长度从10厘米到100厘...
2008-01-31 00:00:00

扁平柔性跳线、电缆(FFC, FPC)是特殊设计的电缆,应用于电子设备中。FFC(Flat Flexible Cable)是由多根细导线组成的扁平电缆,具有高度...
2010-05-25 00:00:00

现代电子设备中,连接器作为电气信号传输的重要组件,扮演着非常重要的角色。CONN_9.6X5.65MM_SM连接器凭借其优越的性能和广泛的适用性,成为了电子产品...
2025-03-03 17:11:58

电,作为现代生活的基石,几乎驱动着我们身边的一切。但您是否了解,生活中常见的电,其实分为两种类型:交流电(AC)和直流电(DC)?看似相同,却有着本质的区别,并...
2024-02-07 00:00:00