1. 程式人生 > >stm8 觸控庫使用教程 一步一步

stm8 觸控庫使用教程 一步一步

配套的檔案資料會上傳

1、檢視觸控庫說明文件,根據需要選取晶片(主要支援幾個鍵):STMTouch Driver User Manual

一個channel為一個按鈕,比如STM8L101F 就支援3個按鈕,通過按鈕擴充方式可以增加按鈕,參照:

增加觸控感測按鈕數量指南.pdf

2、下載對應的官方觸控庫  STM8L_STMTouch_Lib_V1.1.0,將以下兩個資料夾複製到自己的工程資料夾中

3、選擇跟自己專案相近的工程開啟,比如我要做1-4個按鈕的觸控燈,就選了STM8L101K3_Ex01

開啟:Projects——Examples——STM8L101K3_Ex01——EWSTM8(我用的是IAR)——Example.eww

4、開啟後Make一下,一般是make成功0錯誤的。

5、開啟對應的config檔案,我這邊是tsl_conf_stm8l.h檔案,在這裡面需要進行以下設定:

這個檔案裡還有很多引數,後面用到的時候再來配,現在不太清楚

6、開啟      tsl_user.c  ,觸控庫的應用函式,進行修改,一步步往下看程式,我有加註釋的習慣,回頭看比較方便

以下是我初次讀程式的方式,一步一步來分解程式碼:

7、user.C檔案看完了,觸控庫這些引數組成,大致有了個概念,總的來說是涉及到這幾個準備步驟:

按需求確定腳位並且在conf檔案裡設定個數,在user對通道、bank、組、物件這些進行設定,最後得到user函式,在main或中斷中對主函式進行呼叫,判斷哪個按鈕觸發即可,具體還要大致過一遍例程的main:

main函式是看完了,繼續往下看有哪些函式:

main.C檢視完了,大致知道這個庫的模式了,在action user函式裡判斷哪個按鈕被按下從而執行想要的程式,而且觸控庫是有個TIM4的心跳定時器,我們可以根據需要修改程式碼,變更時間或者替換定時器。  也可以按需要在定時器中斷裡執行一些過程程式碼。

載入程式進入板子,執行情況較好,靈敏度可以調節conf.H裡面相關引數,可以摸索下。

這次快速的過了一遍,功能實現為主,沒有深究,官方庫的程式碼個別地方比較迷,有些重點部分沒有進行應有的說明,體驗一般。與一般廠家的專用觸控IC相比較,優勢是擴充套件性好,大部分STM8都可以用,之後有時間我會試著移植該觸控方案到51之類的其他晶片,到時候再一起交流。

有不對的地方多多指出,歡迎加 STM8討論微信群 ,一起討論,樓主WX:xf386145824,備註:進STM8群