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

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

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

基于博流BL606P音視頻開(kāi)發(fā)板的ADC Key按鈕例程

芯片開(kāi)放社區(qū) ? 來(lái)源:芯片開(kāi)放社區(qū) ? 作者:芯片開(kāi)放社區(qū) ? 2023-05-22 11:09 ? 次閱讀

編輯語(yǔ):

芯片開(kāi)放社區(qū)(OCC)面向廣大開(kāi)發(fā)者推出應(yīng)用實(shí)戰(zhàn)系列內(nèi)容,通過(guò)分享開(kāi)發(fā)者實(shí)戰(zhàn)開(kāi)發(fā)案例,總結(jié)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn),梳理開(kāi)發(fā)中的常見(jiàn)問(wèn)題及解決方案,為后續(xù)參與的開(kāi)發(fā)者提供更多參考與借鑒。

本文是關(guān)于開(kāi)發(fā)者 kit7828基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第三篇,主要介紹了ADC Key按鈕例程,后面還會(huì)持續(xù)更新該開(kāi)發(fā)者的測(cè)評(píng)內(nèi)容,敬請(qǐng)期待!

BL606P的ADC按鍵都接在IO管腳上的GPIO16,需要設(shè)置跳線帽。根據(jù)分壓電阻網(wǎng)絡(luò)獲取不同的電壓值,通過(guò)AD轉(zhuǎn)換值區(qū)分按下了哪個(gè)按鍵。

01硬件及連接

根據(jù)官方提供的資料,可以看到如下的原理圖

20cd2eaa-f84c-11ed-90ce-dac502259ad0.png

ADC的管腳使用的是GPIO16,需要設(shè)置跳線帽。

KEY_IN通過(guò)FPC連接線連接至KEY

20e535ea-f84c-11ed-90ce-dac502259ad0.png

而key連接至按鍵電阻分壓網(wǎng)絡(luò)

20f89f54-f84c-11ed-90ce-dac502259ad0.png

通過(guò)不同大的分壓,確定哪個(gè)按鍵按下

02軟件實(shí)現(xiàn)

平頭哥官網(wǎng)給出的ADC例程

210d3216-f84c-11ed-90ce-dac502259ad0.png

具體實(shí)現(xiàn)代碼

212d9614-f84c-11ed-90ce-dac502259ad0.png

CDK中具體代碼為:

2.1 設(shè)置管腳

void adcpin_init(void)
{
csi_pin_set_mux(GPIO_PIN_16, GPIO16_ADC_CH8);
}

2.2 ADC初始化

void adckey_Init()
{
adc.port = 8;
adc.config.sampling_cycle = 100;
    hal_adc_init(&adc);
}

2.3 按鍵檢測(cè)代碼

#define KEY_NOTHING19

uint16_t GetKey()
{
//持續(xù)檢測(cè)按鍵次數(shù)
#define CHECKNUM 10

uint32_t value;
uint16_t kval=0;
uint16_t oldkey=KEY_NOTHING,i=0;

hal_adc_value_get(&adc, &value, HAL_WAIT_FOREVER);
kval = (value & 0xffff)>> 9;

if(kvalCHECKNUM)i=CHECKNUM;
}
}
else oldkey=KEY_NOTHING;

return KEY_NOTHING;
}
){>

2.4 按鍵判定代碼

keyval = GetKey();
if( keyval < 19)
printf("Key Pressed:  %d 
", keyval);

aos_msleep(5);
switch (keyval) {
case 0:
printf("K4 Pressed. 
");
break;
case 3:
printf("K3 Pressed. 
");
break;
case 8:
printf("K6 Pressed. 
");
break;
case 11:
case 12:
printf("K5 Pressed. 
");
break;
case 17:
printf("K7 Pressed. 
");
break;
}

03運(yùn)行后效果

2143021a-f84c-11ed-90ce-dac502259ad0.png

按鍵檢測(cè)過(guò)程中,由于運(yùn)用ADC檢測(cè)電壓,會(huì)出現(xiàn)浮動(dòng)情況,比較好的解決辦法是多讀數(shù)幾次,取平均值。

審核編輯:湯梓紅

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

    關(guān)注

    97

    文章

    6345

    瀏覽量

    543344
  • 音視頻
    +關(guān)注

    關(guān)注

    4

    文章

    454

    瀏覽量

    29818
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4834

    瀏覽量

    96821
  • key
    key
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    12802
  • 按鍵檢測(cè)
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    4816

原文標(biāo)題:應(yīng)用速遞 | 博流BL606P音視頻開(kāi)發(fā)板:三、ADC Key按鈕例程

文章出處:【微信號(hào):芯片開(kāi)放社區(qū),微信公眾號(hào):芯片開(kāi)放社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于BL606P音視頻開(kāi)發(fā)板開(kāi)發(fā)環(huán)境搭建及例程測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 zhanghui 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第一篇,主要介紹了開(kāi)發(fā)環(huán)境搭建及
    發(fā)表于 06-09 10:04 ?697次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>開(kāi)發(fā)</b>環(huán)境搭建及<b class='flag-5'>例程</b>測(cè)試

    BL606P音視頻開(kāi)發(fā)板:(三)ADC測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 qinyunti 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了ADC測(cè)試,后面還會(huì)持續(xù)更新該
    的頭像 發(fā)表于 04-10 10:26 ?737次閱讀

    基于BL606P音視頻開(kāi)發(fā)板的智能音箱測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 qinyunti 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了智能音箱測(cè)試,后面還會(huì)持續(xù)更新該開(kāi)發(fā)
    的頭像 發(fā)表于 05-09 11:22 ?875次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的智能音箱測(cè)試

    BL606P音視頻開(kāi)發(fā)板:HelloWord Demo運(yùn)行及跳線帽設(shè)置

    本文是關(guān)于開(kāi)發(fā)者 kit7828 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第一篇,主要介紹了環(huán)境搭建及HelloWord Demo運(yùn)行,后面還會(huì)持續(xù)更新該
    的頭像 發(fā)表于 05-15 15:25 ?1007次閱讀
    <b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>:HelloWord Demo運(yùn)行及跳線帽設(shè)置

    基于BL606P音視頻開(kāi)發(fā)板實(shí)現(xiàn)RGB點(diǎn)燈

    本文是關(guān)于開(kāi)發(fā)者 kit7828 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第二篇,主要介紹了BL606P實(shí)現(xiàn)RGB點(diǎn)燈,后面還會(huì)
    的頭像 發(fā)表于 05-18 10:57 ?940次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>實(shí)現(xiàn)RGB點(diǎn)燈

    BL606P音視頻開(kāi)發(fā)板CKLink無(wú)法下載的解決辦法

    本文是關(guān)于開(kāi)發(fā)者 kit7828 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第五篇,主要介紹了CKLink無(wú)法下載的解決辦法,后面還會(huì)持續(xù)更新該
    的頭像 發(fā)表于 05-29 10:59 ?803次閱讀
    <b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>CKLink無(wú)法下載的解決辦法

    基于BL606P音視頻開(kāi)發(fā)板的智能音箱系統(tǒng)開(kāi)發(fā)方案

    本文是關(guān)于開(kāi)發(fā)者 喬幫主 分享了在Docker環(huán)境下,基于BL606P音視頻開(kāi)發(fā)板,進(jìn)行智能
    的頭像 發(fā)表于 06-06 17:11 ?2573次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的智能音箱系統(tǒng)<b class='flag-5'>開(kāi)發(fā)</b>方案

    基于BL606P音視頻開(kāi)發(fā)板GPIO驅(qū)動(dòng)RGB燈

    上篇編譯開(kāi)發(fā)板例程后,不停的重啟。下面是創(chuàng)建新的例程來(lái)測(cè)試下板卡上的RGBLED燈,來(lái)熟悉GPIO的使用。
    的頭像 發(fā)表于 06-12 09:49 ?553次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>GPIO驅(qū)動(dòng)RGB燈

    基于BL606P音視頻開(kāi)發(fā)板的藍(lán)牙音頻測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 zhanghui 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第三篇,主要介紹了藍(lán)牙音頻測(cè)試,后面還會(huì)持續(xù)更新該開(kāi)發(fā)
    的頭像 發(fā)表于 06-25 09:42 ?569次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的藍(lán)牙音頻測(cè)試

    基于BL606P音視頻開(kāi)發(fā)板驅(qū)動(dòng)LED數(shù)碼管

    本文是關(guān)于開(kāi)發(fā)者 zhanghui 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第四篇,主要介紹了LED數(shù)據(jù)管模塊TM1638驅(qū)動(dòng)的測(cè)試,后面還會(huì)持續(xù)更新該
    的頭像 發(fā)表于 06-29 09:49 ?434次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)LED數(shù)碼管

    基于BL606P音視頻開(kāi)發(fā)板的CAN擴(kuò)展模塊收發(fā)測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 zhanghui 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的第五篇,主要介紹了CAN擴(kuò)展模塊收發(fā)測(cè)試,后面還會(huì)持續(xù)更新社區(qū)
    的頭像 發(fā)表于 07-03 10:06 ?659次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的CAN擴(kuò)展模塊收發(fā)測(cè)試

    BL606P音視頻開(kāi)發(fā)板:驅(qū)動(dòng)MAX7219點(diǎn)陣模組

    本文是關(guān)于開(kāi)發(fā)者 乘簡(jiǎn) 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了驅(qū)動(dòng)MAX7219點(diǎn)陣模組,后面還會(huì)持續(xù)更新社區(qū)開(kāi)發(fā)
    的頭像 發(fā)表于 07-10 10:43 ?801次閱讀
    <b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>:驅(qū)動(dòng)MAX7219點(diǎn)陣模組

    基于BL606P音視頻開(kāi)發(fā)板的GPIO點(diǎn)燈教程

    本文是關(guān)于開(kāi)發(fā)者 swzswz 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了GPIO點(diǎn)燈,后面還會(huì)持續(xù)更新社區(qū)開(kāi)發(fā)
    的頭像 發(fā)表于 07-17 10:54 ?631次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的GPIO點(diǎn)燈教程

    基于BL606P音視頻開(kāi)發(fā)板驅(qū)動(dòng)LED數(shù)碼管

    本文是關(guān)于開(kāi)發(fā)者 swzswz 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了驅(qū)動(dòng)led數(shù)碼管,后面還會(huì)持續(xù)更新社區(qū)開(kāi)發(fā)
    的頭像 發(fā)表于 07-20 10:58 ?508次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)LED數(shù)碼管

    基于BL606P音視頻開(kāi)發(fā)板的音響測(cè)試

    本文是關(guān)于開(kāi)發(fā)者 swzswz 基于BL606P-DVK開(kāi)發(fā)板實(shí)戰(zhàn)開(kāi)發(fā)的系列文章中的一篇,主要介紹了音響測(cè)試,后面還會(huì)持續(xù)更新社區(qū)開(kāi)發(fā)者的測(cè)
    的頭像 發(fā)表于 07-25 09:56 ?538次閱讀
    基于<b class='flag-5'>博</b><b class='flag-5'>流</b><b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開(kāi)發(fā)板</b>的音響測(cè)試