RM新时代网站-首页

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

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

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

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

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

編輯語:

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

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

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

01硬件及連接

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

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

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

KEY_IN通過FPC連接線連接至KEY

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

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

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

通過不同大的分壓,確定哪個按鍵按下

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 按鍵檢測代碼

#define KEY_NOTHING19

uint16_t GetKey()
{
//持續(xù)檢測按鍵次數(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

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

審核編輯:湯梓紅

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

    關(guān)注

    98

    文章

    6495

    瀏覽量

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

    關(guān)注

    4

    文章

    471

    瀏覽量

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

    關(guān)注

    25

    文章

    5032

    瀏覽量

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

    關(guān)注

    0

    文章

    49

    瀏覽量

    12826
  • 按鍵檢測
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    4834

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    本文是關(guān)于開發(fā)者 qinyunti 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了智能音箱測試,后面還會持續(xù)更新該開發(fā)
    的頭像 發(fā)表于 05-09 11:22 ?936次閱讀
    基于<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'>開發(fā)板</b>的智能音箱測試

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

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

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

    本文是關(guān)于開發(fā)者 kit7828 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的第二篇,主要介紹了BL606P實(shí)現(xiàn)RGB點(diǎn)燈,后面還會
    的頭像 發(fā)表于 05-18 10:57 ?1040次閱讀
    基于<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'>開發(fā)板</b>實(shí)現(xiàn)RGB點(diǎn)燈

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

    本文是關(guān)于開發(fā)者 kit7828 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的第五篇,主要介紹了CKLink無法下載的解決辦法,后面還會持續(xù)更新該
    的頭像 發(fā)表于 05-29 10:59 ?892次閱讀
    <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'>開發(fā)板</b>CKLink無法下載的解決辦法

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

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

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

    上篇編譯開發(fā)板例程后,不停的重啟。下面是創(chuàng)建新的例程來測試下板卡上的RGBLED燈,來熟悉GPIO的使用。
    的頭像 發(fā)表于 06-12 09:49 ?630次閱讀
    基于<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'>開發(fā)板</b>GPIO驅(qū)動RGB燈

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

    本文是關(guān)于開發(fā)者 zhanghui 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的第三篇,主要介紹了藍(lán)牙音頻測試,后面還會持續(xù)更新該開發(fā)
    的頭像 發(fā)表于 06-25 09:42 ?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'>開發(fā)板</b>的藍(lán)牙音頻測試

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

    本文是關(guān)于開發(fā)者 zhanghui 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的第四篇,主要介紹了LED數(shù)據(jù)管模塊TM1638驅(qū)動的測試,后面還會持續(xù)更新該
    的頭像 發(fā)表于 06-29 09:49 ?494次閱讀
    基于<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'>開發(fā)板</b>驅(qū)動LED數(shù)碼管

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

    本文是關(guān)于開發(fā)者 zhanghui 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的第五篇,主要介紹了CAN擴(kuò)展模塊收發(fā)測試,后面還會持續(xù)更新社區(qū)
    的頭像 發(fā)表于 07-03 10:06 ?741次閱讀
    基于<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'>開發(fā)板</b>的CAN擴(kuò)展模塊收發(fā)測試

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

    本文是關(guān)于開發(fā)者 乘簡 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了驅(qū)動MAX7219點(diǎn)陣模組,后面還會持續(xù)更新社區(qū)開發(fā)
    的頭像 發(fā)表于 07-10 10:43 ?869次閱讀
    <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'>開發(fā)板</b>:驅(qū)動MAX7219點(diǎn)陣模組

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

    本文是關(guān)于開發(fā)者 swzswz 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了GPIO點(diǎn)燈,后面還會持續(xù)更新社區(qū)開發(fā)
    的頭像 發(fā)表于 07-17 10:54 ?702次閱讀
    基于<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'>開發(fā)板</b>的GPIO點(diǎn)燈教程

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

    本文是關(guān)于開發(fā)者 swzswz 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了驅(qū)動led數(shù)碼管,后面還會持續(xù)更新社區(qū)開發(fā)
    的頭像 發(fā)表于 07-20 10:58 ?584次閱讀
    基于<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'>開發(fā)板</b>驅(qū)動LED數(shù)碼管

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

    本文是關(guān)于開發(fā)者 swzswz 基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了音響測試,后面還會持續(xù)更新社區(qū)開發(fā)者的測
    的頭像 發(fā)表于 07-25 09:56 ?592次閱讀
    基于<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'>開發(fā)板</b>的音響測試
    RM新时代网站-首页