色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【愛普特APT32F110開發板工程師測評4】電容觸摸按鍵測試 和Touch Key 使用串口工具波形分析

愛普特微電子 ? 2023-03-05 10:37 ? 次閱讀

APT32F110X內嵌了一個最大支持32個掃描通道的電容觸摸按鍵檢測模塊。該模塊支持基于電荷轉移的檢測技術,以滿足不同應用條件下電容觸摸檢測。

APT32F110X觸摸是MCU的一大亮點!

? 最大支持32通道按鍵檢測

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

? 支持通道掃描超時檢測

? 支持連續掃描序列間隔時間設置

? 多種掃描模式

- 單序列模式

- 連續模式

原理:

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

模擬框圖:

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

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

開發板自帶4個觸摸按鍵,需要短接R11~R14

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

APT32有完整的觸摸按鍵生態工具和SDK。

SerialPlot軟件配合串口轉USB工具分析觸摸按鍵波形數據:

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)//定時器中斷,用來定時更新基線(任意定時器都可以,只要把下面的代碼放于定時器中斷里就ok)

{

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

{

wTimeCnt++;

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

{

byBaseUpdata=1;//基線更新標志

wTimeCnt=0;

}

}

}

/**

\brief counterA 定時中斷初始化

\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定時

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,第幾位對應TOUCH如:bit0 --> touch 0 bit16 --> touch16

//注意IO使能是,相應的IO請勿用于其他功能,否則會導致touch工作不正常 ,IO的初始化已經在csi_tkey_init()函數里完成,不需要自己去配置GPIO

//touch的其他一些參數配置請在tkey_parameter.h里完成。

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

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

return tRet;

}

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

{

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();//系統初始化

uart_init();//串口初始化

tkey_init();//touch初始化

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

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

while(1){

csi_tkey_prgm(&g_tTkey); //循環掃描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,則對應按鍵被按下。如: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;

}

可以實現觸摸按鍵和機械按鍵一樣效果

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1571

    瀏覽量

    68592
  • 開發板
    +關注

    關注

    25

    文章

    5120

    瀏覽量

    97963
收藏 人收藏

    評論

    相關推薦

    普特微電子推出超高性價比全國產RISC核32位MCU—APT32F004X

    近日,普特微電子憑借自研的微處理器IP庫及在RISC核架構領域的深厚積累,重磅推出了APT32F004X。這款全國產32位MCU,憑借其卓越的性能、豐富的外設資源以及超高的性價比,勢必將為相關領域
    的頭像 發表于 01-20 20:00 ?114次閱讀
    <b class='flag-5'>愛</b><b class='flag-5'>普特</b>微電子推出超高性價比全國產RISC核32位MCU—<b class='flag-5'>APT32F</b>004X

    再升級!普特微電子推出超高性價比全國產RISC核32位MCU——APT32F104X

    APT32F104X是基于普特自研的微處理器IP庫及RISC核架構研發,采用-40~105℃工業級別標準設計,多達26路的觸摸按鍵控制器
    的頭像 發表于 01-20 18:16 ?161次閱讀
    再升級!<b class='flag-5'>愛</b><b class='flag-5'>普特</b>微電子推出超高性價比全國產RISC核32位MCU——<b class='flag-5'>APT32F</b>104X

    嵌入式工程師常用的開發工具有哪些?

    嵌入式工程師常用的開發工具有哪些? 在嵌入式系統開發的廣闊領域中,嵌入式工程師們憑借著一系列強大的工具,將創意與技術完美融合,打造出高效、可
    發表于 12-20 15:29

    【敏矽微ME32G070開發板免費體驗】之開箱與基本測試

    開發板特點: 1.全GPIO引出,便于開發 2.設立多個電源端子,避免測試煩惱 3.2個按鍵輸入,2個LED輸出 4.一路單總線的2812
    發表于 12-14 15:07

    米爾-紫光PG2L100H國產FPGA開發板試用】按鍵功能測試報告

    一、準備工作 硬件準備 PG2L100H FPGA開發板 USB Type-C數據線 12V電源適配器 Windows 10電腦 軟件環境 PDS開發環境 官方按鍵示例工程
    發表于 12-06 11:04

    【米爾-紫光PG2L100H國產FPGA開發板試用】米爾-紫光PG2L100H國產FPGA開發板開箱評測

    接下來的主角 電源插頭,特別要說一下,米爾的這個電源插頭使用了分離式的設計,有3孔,兩孔,港版,大陸版,滿足了世界各地工程師 的各種電源使用,非常的人性化。 開發板正面如下圖所示 接下來
    發表于 11-07 12:21

    解讀 | 不簡單的全志T113-S開發板

    ,音頻、MIC等常用接口,眺望電子提供各平臺的ARM開發板助力研發工程師可以方便的初期測試和學習,通過開發板內的資料文檔可快速開發公司產品,
    的頭像 發表于 10-25 08:07 ?1687次閱讀
    解讀 | 不簡單的全志T113-S<b class='flag-5'>開發板</b>

    QE for Cap Touch工具使用問題總結

    對于瑞薩觸摸按鍵解決方案來說,QE for Capacitive touch是一個非常有效的輔助工具,可以用于幫助用戶快速、高效的開發基于瑞
    的頭像 發表于 07-17 14:26 ?520次閱讀
    QE for Cap <b class='flag-5'>Touch</b><b class='flag-5'>工具</b>使用問題總結

    觸摸32位MCU在微波爐上的應用

    能力強、低功耗等。接下來,文章詳細闡述了普特 32 位觸摸芯片在微波爐上的具體應用,包括觸摸按鍵觸摸
    的頭像 發表于 05-30 14:56 ?512次閱讀

    瑞薩電容觸摸技術之開發工具使用小技巧(2)QE監控窗口中的同步選擇

    本文以系列文章的形式,為用戶介紹在使用QE for Capacitive Touch工具開發瑞薩電容觸摸應用時的小技巧。
    的頭像 發表于 04-30 14:03 ?768次閱讀
    瑞薩<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>技術之<b class='flag-5'>開發工具</b>使用小技巧(2)QE監控窗口中的同步選擇

    瑞薩電容觸摸技術之開發工具使用小技巧(1)QE監控記錄

    QE for Capacitive Touch是一種用于幫助用戶快速和高效開發瑞薩電容觸摸按鍵系統的軟件
    的頭像 發表于 04-29 14:12 ?1974次閱讀
    瑞薩<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>技術之<b class='flag-5'>開發工具</b>使用小技巧(1)QE監控記錄

    APT32F102 開發板使用手冊

    電子發燒友網站提供《APT32F102 開發板使用手冊.pdf》資料免費下載
    發表于 04-16 09:07 ?0次下載

    普特再推超高性價比全國產32位MCU—APT32F1025B

    近日,全國產32位MCU小巨人企業普特微電子宣布推出一款超高性價比的全國產RISC核32位MCU——APT32F1025B,進一步擴展豐富其在全國產、高性價比領域MCU產品系列布局
    的頭像 發表于 03-29 08:17 ?1136次閱讀
    <b class='flag-5'>愛</b><b class='flag-5'>普特</b>再推超高性價比全國產32位MCU—<b class='flag-5'>APT32F</b>1025B

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字電路和邏輯功能。FPGA開發板通常包括FPG
    的頭像 發表于 03-14 18:20 ?2128次閱讀

    基于普特APT32F1023B的高安全性車載逆變器全國產MCU方案

    穩步增長。普特車載逆變器方案前級由APT32F1023B控制推挽升壓,后級基于APT32F1023B全橋逆變。輸入電源11-15V、28.5A,可逆變輸出為11
    的頭像 發表于 02-19 13:04 ?508次閱讀
    基于<b class='flag-5'>愛</b><b class='flag-5'>普特</b><b class='flag-5'>APT32F</b>1023B的高安全性車載逆變器全國產MCU方案
    主站蜘蛛池模板: 成人永久免费视频| 亚洲AV噜噜狠狠网址蜜桃尤物| 动漫女主被扒开双腿羞辱| 鞋奴的视频VK| 啪啪做羞羞事小黄文| 黑人操白逼| 动漫美女3d被爆漫画| 91chinesevideo| 亚洲欧美综合视频| 特级aa 毛片免费观看| 欧美特级另类xxx| 两性午夜色视频免费网站| 国产真实女人一级毛片| 福利社影院| 97色伦图区97色伦综合图区| 亚洲精品乱码久久久久久直播| 天天澡夜夜澡人人澡| 人人看人人看| 免费人成在线观看网站视频| 精品视频久久久久| 国产女人乱人伦精品一区二区| 被公疯狂玩弄的漂亮人妻| 91精品婷婷国产综合久久8| 一本道久久综合久久88| 亚洲精品美女久久777777| 小妇人电影免费完整观看2021| 色就色 综合偷拍区欧美| 秋霞午夜鲁丝片午夜精品久 | 成人永久免费视频| 99久久做夜夜爱天天做精品| 综合久久久久久久综合网| 伊人久久综合网站| 一个人看的WWW高清电影| 亚洲精品无码久久久久A片 | 亚洲国产AV无码综合在线| 天美传媒色情原创精品| 天堂在线亚洲精品专区| 涩涩999| 手机看片成人| 午夜噜噜噜私人影院在线播放| 甜性涩爱下载|