瑞萨电容触摸技术之低功耗应用—RX140实验环节(2)-4

描述

Lab Session 1

基于RX140创建一个基本的含有12个自容按键的触摸应用工程

2.5

增加应用程序

2.5.1 在main主函数中增加触摸应用函数的调用

在"Project Explorer"中,选择工程Lab_Session_1→文件夹src→文件Lab_session_1.c 

SRC

2.5.2 增加指示触摸按键状态的LED的驱动程序

将"r_bord_control.c"和"r_bord_control.h"两个文件拷贝到工程Lab_Session_1→src文件夹下

SRC

2.5.3 右键单击工程名"Lab_session_1", 在弹出的菜单中,选择"C/C++ Setting for project"

SRC

2.5.4 在弹出的 "Properties for session_1"对话框中,选择"Settings"

在"Settings"的目录中选择"Compiler"中的"Source", 在右侧的具体设定中点击右上角的SRC图标,在弹出的"Add directory path"对话框中,点击"Workspace",在弹出的"Folder selection"中,选择"src"目录,单击OK

单击"Add directory path"对话框中的OK

SRC

在"Settings"的目录中选择"Assembler"中的"Source", 在右侧的具体设定中点击右上角的SRC图标,在弹出的"Add directory path"对话框中,点击"Workspace",在弹出的"Folder selection"中,选择"src"目录,单击OK

单击"Add directory path"对话框中的OK

最后,单击"Properties for session_1"对话框右下角的SRC完成设定

SRC

2.5.5 在"文件qe_touch_sample.c"中,添加#include "r_bord_control.h"

SRC

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);

SRC

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 点击SRC按钮编译工程

SRC

2.5.9 如果没有错误,将显示如下结果:

SRC

2.6 

运行程序

2.6.1 点击SRC按钮进入仿真状态,如下图所示:

SRC

2.6.2 程序停止在"文件resetprg.c "的"204行"

点击SRC按钮,继续

SRC

2.6.3 程序停止在"文件Lab_session_1.c"的"18行",如下图所示:

点击SRC按钮,继续

SRC

2.6.4 此时,程序进入全速运行状态。

点击SRC,可以停止程序运行。

SRC

2.7

使用指示触摸按键状态的LED监控触摸行为

2.7.1 按照"2.6运行程序"小节介绍的方法,在仿真状态下全速运行程序。

当某一个触摸按键被按下时,触摸按键上方对应的绿色LED被点亮。

SRC

SRC

SRC

2.8

使用全局变量button_status

监控触摸行为

2.8.1 点击SRC按钮进入仿真状态。

点击两次按钮SRC,程序停止在"文件Lab_session_1.c""18行",此时,打开"文件qe_touch_sample.c"

在"void qe_touch_main(void) "中, 在全局变量"button_status"上单击右键,在菜单中选择"Add Watch Expression".

SRC

NOTE

"button_status"为64位全局变量

在"qe_touch_sample.c"中定义, 如下所示

SRC

2.8.2 "Add Watch Expression"添加完成后,显示在"Expression"窗口

SRC

2.8.3 在"Expression"窗口,在全局变量"button_status"上单击右键,

在弹出的菜单中,选择"Enable Real-time Refresh"

SRC

2.8.4 选择"Enable Real-time Refresh"后,全局变量"button_status"前面图标变为SRC,如下图所示:

SRC

2.8.5 在"Expression"窗口,在全局变量"button_status"上单击右键

在弹出的菜单中选择"Real-time Refresh",在弹出的下一级菜单中选择" Real-time Refresh  Interval"

SRC

2.8.6 在弹出的对话框中,将"Real-time Refresh  Interval"设定为"100ms"

SRC

2.8.7 点击SRC按钮,全速运行程序。

SRC

2.8.8 按下某一个按键,在"Expression"窗口,可实时看到全局变量"button_status"的数值。

SRC

触摸 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

以此类推




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分