29.4
電容按鍵實驗
電容按鍵不需要任何外部機械部件,使用方便,成本低,很容易制成與周圍環(huán)境相密封的鍵盤,以起到防潮防濕的作用。電容按鍵優(yōu)勢突出使得越來越多電子產(chǎn)品使用它代替?zhèn)鹘y(tǒng)的機械按鍵。
29.4.1
硬件設(shè)計
開發(fā)板板載一個電容按鍵,電容按鍵電路設(shè)計請參考下圖。

標示TPAD1在電路板上就是電容按鍵實體,默認連接到P708,即CTSU單元1的通道TS12。充電電容的阻值為680歐姆,電阻的大小決定了電容按鍵充電的時間。
實驗還用到調(diào)試串口和LED功能,用來打印輸入捕獲信息和指示電容按鍵狀態(tài),這兩個模塊電路可參考之前相關(guān)章節(jié)。
29.4.2
軟件設(shè)計
29.4.2.1
新建工程
因為本章節(jié)的UART相關(guān)實驗例程需要用到板子上的LED功能,因此我們可以直接以前面的“11_GPIO_LED”工程為基礎(chǔ)進行修改。
對于e2studio開發(fā)環(huán)境:拷貝一份我們之前的e2s工程模板“11_GPIO_LED”,然后將工程文件夾重命名為“CTSU_basic”,最后再將它導(dǎo)入到我們的e2studio工作空間中。
對于Keil開發(fā)環(huán)境:拷貝一份我們之前的Keil工程模板“11_GPIO_LED”,然后將工程文件夾重命名為“CTSU_basic”,并進入該文件夾里面雙擊Keil工程文件,打開該工程。
29.4.2.2
FSP配置
首先打開“CTSU_basic”項目的FSP配置界面,接下來我們要在這個界面里配置芯片的引腳及其相應(yīng)的功能。
雙擊configuration.xml打開配置界面:然后點開依次點擊Stacks->New Stack->Cap Touch->TOUCH來配置CTSU模塊。如圖29_21。

圖29-21選擇CTSU模塊
之后選擇對應(yīng)的引腳如圖29_22。

圖29-22CTSU引腳配置
配置完成之后可以按下快捷鍵“Ctrl+S”保存,最后點右上角的“Generate Project Content”按鈕,讓軟件自動生成配置代碼即可。
29.4.2.3
QE for Capacitive Touch配置
使用瑞薩的QE軟件進行配置具有簡潔、快捷、方便的特性,易于開發(fā)者進行開發(fā)。我們點擊e2studio上方的Renesas Views之后依次點擊Renesas QE->Cap Touch Main(QE)。
注解
如果找不到Cap Touch Main(QE)我們可以在Renesas Views->Renesas Software Installer中搜索安裝,如果是新版e2studio安裝CapTouch工具后,則在Renesas QE中選擇CapTouch Workflow(QE)。
打開之后我們進入到電容按鍵的配置界面,然后我們按著前后順序依次點擊。

To Selecta Project選擇項目:
我們點擊To Selecta Project選擇我們需要選擇項目。
To Preparea Configuration準備配置:
我們點擊Modify Configuration之后我們來到這個界面:

我們點擊button之后移到中間,如圖所示。

之后我們雙擊button進行調(diào)節(jié),Touch Sensor選擇電容按鍵,Resistance[ohm]選擇電容按鍵的電阻值。
Start Tuning開始調(diào)諧:
在我們的開發(fā)板上面插上J-Link調(diào)試器之后,我們點擊Start Tuning開始調(diào)諧。系統(tǒng)會自動的搭建需要配置的文件最終會來到這樣的一個界面。

這個時候我們觸碰開發(fā)板上的電容按鍵并且按住不松手,之后我們隨便點擊鍵盤上的按鍵。

后跳轉(zhuǎn)到最后的一個界面,點擊Continuethe Tuning Process

這個時候我們的配置文件就配置好了
錯誤解決
如果Start Tuning后出現(xiàn)下面的錯誤時:

需要打開調(diào)試器設(shè)置:

取消勾選后重新調(diào)試:

之后如果出現(xiàn)對話框,則點擊“Yes”,調(diào)試通過后關(guān)閉調(diào)試連接,重新點擊Start Tuning即可。
Output Parameter Files輸出參數(shù)文件:
我們點擊Output Parameter Files輸出參數(shù)文件,之后會生成如下圖一樣的文件夾,這個就是QE為我們配置好的文件。

它會在左邊的項目文件管理中生成一個qe_gen文件夾,其中里面包涵一些電容按鍵配置文件其中包括qe_touch_define.h、qe_touch_config.h、ge_touch_config.c這三個文件。

注解
在我們沒有點擊start Tuning進行調(diào)諧此時Output Parameter Files按鈕顯示灰色,這個時候我們是點擊不了Output Parameter Files輸出參數(shù)文件,我們可以先點擊start Tuning進行調(diào)諧后進行參數(shù)文件的輸出。
Show Sample展示示例:

我們點擊Show Sample這里面有電容按鍵的示例代碼,之后我們點擊Outputtoa File,它會在qe_gen文件夾里生成qe_touch_sample.c這樣的一個文件。文件qe_touch_sample.c也就是我們編寫程序代碼的地方。

之后我們點擊qe_touch_sample.c開始我們對電容按鍵程序的編寫。
Show Views:
第一步我們在hal_entry.c里添加代碼,使得我們能在圖形化界面正常的顯示。
列表1:主函數(shù)
左右滑動查看完整內(nèi)容
voidhal_entry(void)
{
qe_touch_main();//跳轉(zhuǎn)到電容按鍵函數(shù)
#ifBSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif}
第二步我們進行編譯和調(diào)試。
第三步我們回到CapTouch Main(QE)配置界面,之后點擊Show Views開始我們的監(jiān)視并且查看我們是否配置好了相應(yīng)的代碼。

當(dāng)手指觸碰開發(fā)板上的電容按鍵時,如果圖像能出現(xiàn)手指的模樣,說明我們的配置成功了。并且我們可以在右邊看到電容按鍵的閾值和當(dāng)前電容按鍵的狀態(tài)。

之后我們就可以開始對電容按鍵程序的編寫了。
29.4.2.4
qe_gen文件
列表2:QE電容按鍵程序
左右滑動查看完整內(nèi)容
voidqe_touch_main(void)
{
fsp_err_terr;
/* 打開觸摸中間件*/
err =RM_TOUCH_Open(g_qe_touch_instance_config01.p_ctrl, g_qe_touch_
,→instance_config01.p_cfg);
if(FSP_SUCCESS != err)
{
while(true) {}
}
/* 主循環(huán)*/
while(true)
{
/* 電容按鍵掃描開始*/
err =RM_TOUCH_ScanStart(g_qe_touch_instance_config01.p_ctrl);
if(FSP_SUCCESS != err)
{
while(true) {}
}
while(0== g_qe_touch_flag) {}
g_qe_touch_flag =0;
/* 獲取當(dāng)前電容按鍵的狀態(tài)*/
err =RM_TOUCH_DataGet(g_qe_touch_instance_config01.p_ctrl, &button_
,→status,NULL,NULL);
if(FSP_SUCCESS == err)
{
if(button_status==1)
{
LED3_ON;
}
else
{
LED3_OFF;
}
}
/* 因為這是一個臨時進程,所以您可以自己重新創(chuàng)建一個等待進程*/
R_BSP_SoftwareDelay(TOUCH_SCAN_INTERVAL_EXAMPLE, BSP_DELAY_UNITS_
,→MILLISECONDS);
}
}
電容按鍵點亮LED燈
29.4.2.5
主函數(shù)
列表1:主函數(shù)
左右滑動查看完整內(nèi)容
voidhal_entry(void)
{
qe_touch_main();//跳轉(zhuǎn)到電容按鍵函數(shù)
#ifBSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
我們通過輪循的方式操作qe_touch_main函數(shù),來完成我們相應(yīng)對電容按鍵的操作。
29.4.3
Keil–電容按鍵
29.4.3.1
FSP設(shè)置
首先打開“CTSU_basic”項目的FSP配置界面,接下來我們要在這個界面里配置芯片的引腳及其相應(yīng)的功能。
雙擊configuration.xml打開配置界面:然后點開依次點擊Stacks->New Stack->CapTouch->TOUCH來配置CTSU模塊。

之后選擇對應(yīng)的引腳

配置LED引腳

配置完成之后可以按下快捷鍵“Ctrl+S”保存,最后點右上角的“Generate Project Content”按鈕,讓軟件自動生成配置代碼即可。
29.4.3.2
復(fù)制文件
我們在Keil里面創(chuàng)建一個qe_gen文件夾,將之前在e2studio項目里生成的qe_gen文件夾里的文件復(fù)制到Keil的文件夾里面,之后我們將文件目錄導(dǎo)入到項目里。

第一步我們點擊Options for Target ‘Target 1’,將添加的文件夾目錄導(dǎo)入到工程里

第二步我們點擊Manage Project Items,設(shè)置Keil的項目文件管理。這個時候我們的文件目錄為:
列表4:文件結(jié)構(gòu)
CTSU_basic ├─ .settings ├─ Listings ├─ Objects ├─ qe_gen │ ├─qe_touch_config.c │ ├─qe_touch_config.h │ ├─qe_touch_define.h │ └─qe_touch_sample.c ├─ ra ├─ ra_cfg ├─ ra_gen ├─ RTE └─ scriptsrc
29.4.3.3
主函數(shù)
列表5:主函數(shù)
左右滑動查看完整內(nèi)容
voidhal_entry(void)
{
qe_touch_main();//跳轉(zhuǎn)到電容按鍵函數(shù)
#ifBSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
總結(jié)來說就是將電容按鍵生成的文件復(fù)制到Keil工程文件夾里面。
29.4.4
下載驗證
用USB線連接開發(fā)板的“USB轉(zhuǎn)串口”接口和電腦,把編譯好的程序下載到開發(fā)板,我們觸摸電容按鍵并查看LED燈是否有反應(yīng)。
-
瑞薩
+關(guān)注
關(guān)注
38文章
22535瀏覽量
91613 -
keil
+關(guān)注
關(guān)注
69文章
1233瀏覽量
173333 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
276瀏覽量
17696 -
電容按鍵
+關(guān)注
關(guān)注
0文章
6瀏覽量
1557
原文標題:一鍵點擊了解Keil電容按鍵——瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南(109)
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之AGT低功耗定時器簡介和結(jié)構(gòu)框圖
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之走進CTSU玩轉(zhuǎn)電容按鍵檢測
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之電容按鍵實驗
評論