91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【愛普特APT32F110開發(fā)板工程師測(cè)評(píng)4】電容觸摸按鍵測(cè)試 和Touch Key 使用串口工具波形分析

愛普特微電子 ? 2023-03-05 10:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

APT32F110X內(nèi)嵌了一個(gè)最大支持32個(gè)掃描通道的電容觸摸按鍵檢測(cè)模塊。該模塊支持基于電荷轉(zhuǎn)移的檢測(cè)技術(shù),以滿足不同應(yīng)用條件下電容觸摸檢測(cè)。

APT32F110X觸摸是MCU的一大亮點(diǎn)!

? 最大支持32通道按鍵檢測(cè)

? 支持低功耗模式,并基于掃描值偏差自動(dòng)喚醒CPU

? 支持通道掃描超時(shí)檢測(cè)

? 支持連續(xù)掃描序列間隔時(shí)間設(shè)置

? 多種掃描模式

- 單序列模式

- 連續(xù)模式

原理:

電容式按鍵傳感器是一種基于自電容檢測(cè)技術(shù),在人體或帶電物體靠近傳感極點(diǎn)時(shí),導(dǎo)致自電容的變化,根據(jù)這種變化從而實(shí)現(xiàn)按鍵或者觸摸滑條等應(yīng)用的實(shí)現(xiàn)。系統(tǒng)時(shí)鐘由隨機(jī)時(shí)鐘 MFO 調(diào)制后控制 TOUCH IO 對(duì)觸摸電容充放電(固定頻率,隨機(jī)相位)。充電電流由內(nèi)部 LDO 提供,LDO 的輸出電流鏡像給感應(yīng)振蕩器 S-OSC,控制 S-OSC 輸出頻率。因?yàn)槌潆婎l率固定,S-OSC 輸出頻率正比于 TOUCH IO 負(fù)載電容,在 R-OSC 經(jīng)過 N 個(gè)周期所確定的固定時(shí)間內(nèi),SFO 的周期數(shù)將被一個(gè)內(nèi)部采樣計(jì)數(shù)器記錄(CHxDAT)。寄生電容變大時(shí),CHxDAT 值會(huì)變大;寄生電容變小時(shí),CHxDAT 值會(huì)隨之變小。

模擬框圖:

370792dc-b91d-11ed-ad0d-dac502259ad0.png

3736f9fa-b91d-11ed-ad0d-dac502259ad0.png ??

開發(fā)板自帶4個(gè)觸摸按鍵,需要短接R11~R14

376123ce-b91d-11ed-ad0d-dac502259ad0.png

APT32有完整的觸摸按鍵生態(tài)工具和SDK。

SerialPlot軟件配合串口轉(zhuǎn)USB工具分析觸摸按鍵波形數(shù)據(jù):

378990ca-b91d-11ed-ad0d-dac502259ad0.png


37b6e7f0-b91d-11ed-ad0d-dac502259ad0.png

37df0262-b91d-11ed-ad0d-dac502259ad0.png

//#include "include/test_func.h"

#include "iostring.h"

#include

#include "soc.h"

#include "sys_clk.h"

#include

#include

#include

#include

#include

#include

#include

#include "uart.h"

#include "gpio.h"

#include "timer.h"

#include "pin.h"

#include "cnta.h"

#include "tkey.h"

csi_cnta_tg_tCnta;

csi_tkey_t g_tTkey;

csi_gpio_t g_gpioA0;

csi_uart_tg_tUart;

extern void system_init(void);

extern uint16_thwScanCnt;

extern uint32_twKeyMap;

extern uint32_twTimeCnt;

extern uint8_tbyBaseUpdata;

extern uint32_twTkeyBaseCnt;

/** \brief cnta interrupt callback function

*

* \param cnta_handle: handle timer handle to operate

* \param arg: para

* \return none

*/

static void user_cnta_event(csi_cnta_t *cnta_handle, void *arg)//定時(shí)器中斷,用來定時(shí)更新基線(任意定時(shí)器都可以,只要把下面的代碼放于定時(shí)器中斷里就ok)

{

if(wKeyMap!=0)//判斷是否有按鍵按下

{

wTimeCnt++;

if(wTimeCnt>wTkeyBaseCnt)// 基線更新時(shí)間 = (5ms*wTkeyBaseCnt ) ms

{

byBaseUpdata=1;//基線更新標(biāo)志

wTimeCnt=0;

}

}

}

/**

\brief counterA 定時(shí)中斷初始化

\return csi_error_t

*/

csi_error_t cnta_init(void)

{

csi_error_t tRet = CSI_OK;

tRet = csi_cnta_init(&g_tCnta, 0);

tRet = csi_cnta_attach_callback(&g_tCnta, user_cnta_event, NULL);

tRet = csi_cnta_start(&g_tCnta, 5000);//5ms定時(shí)

return tRet;

}

/**

\brief tkey示例

\return csi_error_t

*/

csi_error_t tkey_init(void)

{

csi_error_t tRet = CSI_OK;

tRet = csi_tkey_init(&g_tTkey, 0);//touch初始化, touch的IO使能在tkey_parameter.h里的wTkeyIOEnable,第幾位對(duì)應(yīng)TOUCH如:bit0 --> touch 0 bit16 --> touch16

//注意IO使能是,相應(yīng)的IO請(qǐng)勿用于其他功能,否則會(huì)導(dǎo)致touch工作不正常 ,IO的初始化已經(jīng)在csi_tkey_init()函數(shù)里完成,不需要自己去配置GPIO

//touch的其他一些參數(shù)配置請(qǐng)?jiān)趖key_parameter.h里完成。

tRet = csi_tkey_attach_callback(&g_tTkey, NULL, NULL);//注冊(cè)中斷函數(shù)

csi_tkey_set_intr(&g_tTkey,1,TKEY_DNE);//使能相應(yīng)的中斷

return tRet;

}

int uart_init(void)//串口初始化 串口用于發(fā)送當(dāng)前的按鍵

{

int iRet = 0;

//csi_pin_set_mux(PB05,PB05_UART2_RX);//PB05 = RX

csi_pin_set_mux(PA014,PA014_UART1_TX);//PA014= TX

iRet = csi_uart_init(&g_tUart,1);

CSI_CHECK_RETURN(iRet);

iRet = csi_uart_format(&g_tUart, UART_DATA_BITS_8, UART_PARITY_NONE, UART_STOP_BITS_1);

CSI_CHECK_RETURN(iRet);

iRet = csi_uart_baud(&g_tUart,115200);

CSI_CHECK_RETURN(iRet);

iRet = csi_uart_attach_callback(&g_tUart,NULL, NULL);

CSI_CHECK_RETURN(iRet);

return iRet;

}

int tkey_main()

{

int i=0;

system_init();//系統(tǒng)初始化

uart_init();//串口初始化

tkey_init();//touch初始化

csi_tkey_baseline_prog(&g_tTkey);//獲取第一次上電時(shí)的按鍵原始值作為基線(baseline)

cnta_init();//定時(shí)器初始化,

while(1){

csi_tkey_prgm(&g_tTkey); //循環(huán)掃描touch

if(wKeyMap !=0) //判斷是否有按鍵按下,有則PA015輸出低,沒有則輸出高

{

csi_gpio_write(&g_gpioA0,0X1<<15,0);

}else

{

csi_gpio_write(&g_gpioA0,0X1<<15,1);

}

for(i=0;i!=17;i++)//遍歷wKeyMap 變量,wKeyMap變量的第幾位被值1,則對(duì)應(yīng)按鍵被按下。如:bit0 =1 則 touch0 被按下 bit16=1 則 touch16被按下

{

if((wKeyMap >>i)&0x1)

{

csi_uart_putc(&g_tUart,'T');

csi_uart_putc(&g_tUart,'C');

csi_uart_putc(&g_tUart,'H');

csi_uart_putc(&g_tUart,':');

if(i<10)

csi_uart_putc(&g_tUart,i+0x30);

else

{

csi_uart_putc(&g_tUart,0x31);

csi_uart_putc(&g_tUart,i-10+0x30);

}

csi_uart_putc(&g_tUart,0x0d);

csi_uart_putc(&g_tUart,0x0a);

}

}

}

return 0;

}

可以實(shí)現(xiàn)觸摸按鍵和機(jī)械按鍵一樣效果

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1603

    瀏覽量

    71058
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6293

    瀏覽量

    118236
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Renesas RSKRX24U 開發(fā)板:電子工程師的得力助手

    Renesas RSKRX24U 開發(fā)板:電子工程師的得力助手 在電子開發(fā)的領(lǐng)域中,擁有一款功能強(qiáng)大且易于使用的開發(fā)板至關(guān)重要。Renesas RSKRX24U
    的頭像 發(fā)表于 12-29 15:45 ?351次閱讀

    CW32F030開發(fā)板工程模板

    030_StandardPeripheralLibExamples CW32-48F大學(xué)計(jì)劃例程 EX1流水燈實(shí)驗(yàn) EX2蜂鳴器實(shí)驗(yàn) EX3按鍵指示燈實(shí)驗(yàn) EX4定時(shí)器實(shí)驗(yàn) E
    發(fā)表于 12-26 08:08

    【RA4M2-SENSOR開發(fā)板評(píng)測(cè)】使用QE工具配置觸摸按鍵

    本期來使用瑞薩官方的QE工具嘗試對(duì)開發(fā)板上的兩個(gè)電容按鍵進(jìn)行配置。
    的頭像 發(fā)表于 12-10 17:14 ?2692次閱讀
    【RA<b class='flag-5'>4</b>M2-SENSOR<b class='flag-5'>開發(fā)板</b>評(píng)測(cè)】使用QE<b class='flag-5'>工具</b>配置<b class='flag-5'>觸摸</b><b class='flag-5'>按鍵</b>

    【開源FPGA硬件】硬件黑客集結(jié):開源FPGA開發(fā)板測(cè)評(píng)活動(dòng)全網(wǎng)火熱招募中......

    式發(fā)布啦!現(xiàn)面向全網(wǎng)招募第一批工程師/硬件愛好者,開發(fā)板免費(fèi)試用測(cè)試啦! 優(yōu)秀試用報(bào)告,將作為板卡配套資料發(fā)布~ 相關(guān)鏈接: 擁抱開源!一起來做FPGA開發(fā)板啦!火爆
    發(fā)表于 10-29 11:37

    【作品合集】視美泰M-K1HSE、3568開發(fā)板測(cè)評(píng)

    領(lǐng)先水平。M-K1HSE專為人機(jī)交互、工控項(xiàng)目、深度學(xué)習(xí)等場(chǎng)景設(shè)計(jì),提供豐富的接口和強(qiáng)大的擴(kuò)展能力,是開發(fā)者和工程師的理想選擇。 SC-3568HA開發(fā)板: SC-3568HA開發(fā)板
    發(fā)表于 09-22 10:32

    【作品合集】沁恒微電子CH585開發(fā)板測(cè)評(píng)

    CH585開發(fā)板免費(fèi)試用體驗(yàn)】+無線通訊功能測(cè)試 第一期合集: 微五科技CF5010RBT60開發(fā)板測(cè)評(píng)作品合集 第二期合集: 創(chuàng)龍科技TLT113/TL3562-MiniEVM
    發(fā)表于 09-08 10:38

    【RA4M2-SENSOR】電容觸摸按鍵

    基于 RA4M2-SENSOR 電容觸摸按鍵 CTSU 實(shí)現(xiàn)按鍵控制 LED 的項(xiàng)目設(shè)計(jì)。 硬件連接
    發(fā)表于 09-03 11:13

    【作品合集】微五科技CF5010RBT60開發(fā)板測(cè)評(píng)

    CF5010RBT60開發(fā)板試用體驗(yàn)】打印串口無輸出問題解決(更正,原理圖中使用的是USART1不是UART4) 【微五科技CF5010RBT60開發(fā)板試用體驗(yàn)】UART
    發(fā)表于 09-01 14:48

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】CTSU觸摸按鍵控制LED

    RA6M4開發(fā)板帶有兩個(gè)觸摸按鍵,是瑞薩自己研發(fā)的觸摸設(shè)計(jì)。這個(gè)調(diào)試案例需要用到SWD.我使用的是EZCUBE3.使用typec外部供電。
    發(fā)表于 07-28 22:01

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】介紹、環(huán)境搭建、工程測(cè)試

    2 studio 和使用 FSP 所需的所有其他工具。 由于這里使用 RA6M4 主控,僅安裝 RA 系列軟件包即可。 工程測(cè)試 這里介紹了開發(fā)板
    發(fā)表于 07-25 11:48

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】+01+開箱測(cè)評(píng)+UART+PWM+LED

    ) 02篇【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】+02+舵機(jī)控制+串口通訊 - 瑞薩單片機(jī)論壇 - 電子技術(shù)論壇 - 廣受歡迎的專業(yè)電子論壇! (elecfans.com) 03篇
    發(fā)表于 07-17 23:43

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】+初識(shí)篇

    RA-Eco-RA6M4開發(fā)板是一款基于 Arm? Cortex?-M33 內(nèi)核的開發(fā)工具,且具有1MB 閃存、192kB支持奇偶校驗(yàn) SRAM 以及64kb ECC SRAM。 該開發(fā)板
    發(fā)表于 07-16 19:06

    【RA4L1-SENSOR】觸摸按鍵LED+串口傳輸

    并將鼠標(biāo)移動(dòng)到畫布上。 2.點(diǎn)擊鼠標(biāo)左鍵來放下按鈕圖標(biāo)。開發(fā)板上有2個(gè)電容觸摸按鈕,可以添加兩個(gè)按鈕。 3.兩個(gè)按鈕添加完成后,按側(cè)選擇Button菜單可以退出放置。 如果按鍵沒有和引
    發(fā)表于 07-03 21:20

    來自資深工程師對(duì)ELF 2開發(fā)板的產(chǎn)品測(cè)評(píng)

    來自資深工程師對(duì)ELF 2開發(fā)板的使用測(cè)評(píng)
    的頭像 發(fā)表于 04-28 15:03 ?1896次閱讀
    來自資深<b class='flag-5'>工程師</b>對(duì)ELF 2<b class='flag-5'>開發(fā)板</b>的產(chǎn)品<b class='flag-5'>測(cè)評(píng)</b>

    基于RV1126開發(fā)板按鍵測(cè)試方法與例程

    RV1126開發(fā)板按鍵測(cè)試方法與例程詳細(xì)描述
    的頭像 發(fā)表于 04-15 17:03 ?1072次閱讀
    基于RV1126<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>按鍵</b><b class='flag-5'>測(cè)試</b>方法與例程