原理:
R:外接電容充放電電阻。
Cs:TPAD和PCB間的雜散電容。
Cx:手指按下時,手指和TPAD之間的電容。
開關:電容放電開關,由STM32IO口代替。
沒有按下的時候,充電時間為T1(default)。按下TPAD,電容變大,所以充電時間為T2。我們可以通過檢測充放電時間,來判斷是否按下。如果T2-T1大于某個值,就可以判斷有按鍵按下。
①TPAD引腳設置為推挽輸出,輸出0,實現(xiàn)電容放電到0。
②TPAD引腳設置為浮空輸入(IO復位后的狀態(tài)),電容開始充電。
③同時開啟TPAD引腳的輸入捕獲開始捕獲。
④等待充電完成(充電到底Vx,檢測到上升沿)。
⑤計算充電時間。