
前篇回顧:
瑞薩電容觸摸技術之低功耗應用——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