电容触摸按键 工程目标:触摸按键控制板载 LED
操作流程
介绍项目实现的操作步骤。
硬件连接
新建工程
1.新建工程,配置 LED 对应引脚的输出模式;
触摸驱动
2.Stacks - New Stack - CapTouch - Touch (rm_touch); 3.更改 CTSU (r_ctsu) 属性 4.添加 DTC 组件 WRITE 和 READ 触摸配置
5.瑞萨视图 - Renesas QE - CapTouch Workflow (QE) 打开触摸按键配置流程图; 6.选择当前工程 - 新建配置 - 点击 Button 在画布添加两个按键 - 分别双击两个 Button 并配置其引脚为 TS10 和 TS11 - 点击 Create ;
开始调试
7.点击 Start Tuning 按钮开始调试,根据提示进行操作; 8.待程序进行至阈值采集阶段时,轻轻触碰电容按键并保持该状态,按下键盘空格键,此时程序保存当前阈值, 同样步骤,采集其他按键的触摸阈值…… Threshold 值越大,则触发按键所需的压力越大,通常控制在 2000-3000 即可
9.阈值采样结束时会弹窗给出参数值,点击 Continue the Tuning Process 进入后续流程; 10.点击 Output Parameters Files 按钮,在 qe_gen 文件夹下生成三个参数文件; 11.进入 Implement Program 选项,点击 Show Sample 按钮,选择 Output to a File,将生成的示例程序保存为文件; 12.打开该示例代码文件 qe_touch_sample.c,添加如下代码
代码- /* TODO: Add your own code here. */
- if(button_status==1)
- {
- err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
- }
- else if(button_status==2)
- {
- err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
- }
- else
- {
- err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
- err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
- }
复制代码
13.进入 hal_entry.c 主函数文件,导入示例程序中的 qe_touch_main() 函数 - #include "hal_data.h"
- void hal_entry(void)
- {
- /* TODO: add your own code here */
- qe_touch_main();
-
- }
复制代码
14.构建工程 15.开始调试
效果
通过两触摸按键控制板载 LED
触摸监测
1.点击 Debug 进入调试 ; 2.Renesas 视图 - Renesas QE - CapTouch Board Monitor (QE) ; 3.选择要监测的目标 Button(监测通道); 4.点击窗口右上角实时监测视图小按钮,监测触摸按键状态
总结
通过板载电容触摸按键实现了 LED 控制,希望为广大电子爱好者和开发者提供参考。 在完成项目的过程中,瑞萨 e2 stusio IDE 为开发工作提供了极大便利,推荐大家安装使用。
|