前篇回顾:
瑞萨电容触摸技术之低功耗应用——RX140实验环节(1)
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-1
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-2
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-3
Lab Session 1
基于RX140创建一个基本的
含有12个自容按键的触摸应用工程
2.5
增加应用程序
2.5.1 在main主函数中增加触摸应用函数的调用
在"Project Explorer"中,选择工程Lab_Session_1→文件夹src→文件Lab_session_1.c
2.5.2 增加指示触摸按键状态的LED的驱动程序
将"r_bord_control.c"和"r_bord_control.h"两个文件拷贝到工程Lab_Session_1→src文件夹下
2.5.3 右键单击工程名"Lab_session_1", 在弹出的菜单中,选择"C/C++ Setting for project"
2.5.4 在弹出的 "Properties for session_1"对话框中,选择"Settings"
在"Settings"的目录中选择"Compiler"中的"Source", 在右侧的具体设定中点击右上角的图标,在弹出的"Add directory path"对话框中,点击"Workspace",在弹出的"Folder selection"中,选择"src"目录,单击OK
单击"Add directory path"对话框中的OK
在"Settings"的目录中选择"Assembler"中的"Source", 在右侧的具体设定中点击右上角的图标,在弹出的"Add directory path"对话框中,点击"Workspace",在弹出的"Folder selection"中,选择"src"目录,单击OK
单击"Add directory path"对话框中的OK
最后,单击"Properties for session_1"对话框右下角的完成设定
2.5.5 在"文件qe_touch_sample.c"中,添加#include "r_bord_control.h"
2.5.6 在"void qe_touch_main(void) "中添加LED控制函数的调用,如下所示:
/* TODO: Add your own code here. */
r_control_touch_board_led((uint32_t)button_status, NULL, NULL, true);
2.5.7 按以下方式修改文件"Lab_session_1.c",黄色背景的代码为修改或者增加的部分。
#include "r_smc_entry.h"
void qe_touch_main(void);
void main(void);
void main(void)
{
qe_touch_main();
}
2.5.8 点击按钮编译工程
2.5.9 如果没有错误,将显示如下结果:
2.6
运行程序
2.6.1 点击按钮进入仿真状态,如下图所示:
2.6.2 程序停止在"文件resetprg.c "的"204行"
点击按钮,继续
2.6.3 程序停止在"文件Lab_session_1.c"的"18行",如下图所示:
点击按钮,继续
2.6.4 此时,程序进入全速运行状态。
点击,可以停止程序运行。
2.7
使用指示触摸按键状态的LED监控触摸行为
2.7.1 按照"2.6运行程序"小节介绍的方法,在仿真状态下全速运行程序。
当某一个触摸按键被按下时,触摸按键上方对应的绿色LED被点亮。
2.8
使用全局变量button_status
监控触摸行为
2.8.1 点击按钮进入仿真状态。
点击两次按钮,程序停止在"文件Lab_session_1.c"的"18行",此时,打开"文件qe_touch_sample.c"
在"void qe_touch_main(void) "中, 在全局变量"button_status"上单击右键,在菜单中选择"Add Watch Expression".
NOTE
"button_status"为64位全局变量
在"qe_touch_sample.c"中定义, 如下所示
2.8.2 "Add Watch Expression"添加完成后,显示在"Expression"窗口
2.8.3 在"Expression"窗口,在全局变量"button_status"上单击右键,
在弹出的菜单中,选择"Enable Real-time Refresh"
2.8.4 选择"Enable Real-time Refresh"后,全局变量"button_status"前面图标变为,如下图所示:
2.8.5 在"Expression"窗口,在全局变量"button_status"上单击右键
在弹出的菜单中选择"Real-time Refresh",在弹出的下一级菜单中选择" Real-time Refresh Interval"
2.8.6 在弹出的对话框中,将"Real-time Refresh Interval"设定为"100ms"
2.8.7 点击按钮,全速运行程序。
2.8.8 按下某一个按键,在"Expression"窗口,可实时看到全局变量"button_status"的数值。
触摸 TS_05(Key01) = 1
触摸TS_06(Key02) = 2
触摸TS_07(Key03) = 4
触摸TS_10(Key04) = 32
触摸TS_09(Key05) = 16
触摸TS_08(Key06) = 8
触摸TS_15(Key07) = 256
触摸TS_14(Key08) = 128
触摸TS_13(Key09) = 64
触摸TS_20(Key10) = 512
触摸TS_22(Key11) = 1024
触摸TS_24(Key12) = 2048
同时触摸多个按键,例如:
触摸TS_05(Key01) + TS_06(Key02) + TS_07(Key03) =1+2+4 = 7
以此类推
您可识别下方二维码或复制网址到浏览器中打开进入瑞萨中文论坛:
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
下一节:使用QE for Cap Touch监控触摸底层数据以及触摸行为
推荐阅读
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-1
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-2
瑞萨电容触摸技术之低功耗应用——RX140实验环节 (2)-3