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

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

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

3天內不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】更加優雅的使用OLED板的按鍵

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-11-04 16:51 ? 次閱讀
本文來源電子發燒友社區,作者:杜瀟泊, 帖子地址:https://bbs.elecfans.com/jishu_2009065_1_1.html

開發板OLED板下面有兩個按鍵,上手開發板第一件事肯定是調試輸入輸出手段。串口幾乎不需要調試什么,上手就能用。這個按鍵就成了第一個下手的目標。
起初沒把這倆按鍵當回事,以為只是直接接在GPIO上的,頂多設置一下觸發點平就行了。拿到原理圖才發現,這倆按鍵居然是這樣接的。
180048xlfdlcgqu5ffquq4.png
也就是說必須使用ADC才能確認按下的是哪一個鍵。開發板官方給出了OLED板的demo,其中也包含了對屏幕下面兩個按鍵的使用。但是查看代碼發現,是使用死循環不斷進行ADC轉換來捕捉按鍵操作的。這樣做會導致系統功耗上升,并且會持續占用CPU

其實我們可以更加優雅的使用這倆按鍵,使用按鍵終端觸發按鍵事件,再由按鍵線程完成按鍵事件的處理。這樣做在平時不按按鍵時,系統CPU處于IDLE狀態、ADC也處于停止狀態。功耗、CPU都能降下來。甚至你可以配置進入低功耗模式。

代碼不多
// 全局信號量,記錄按鍵事件
osSemaphoreId_t g_keySem;
void KeyPressed(char *arg) {
(void)arg;
//釋放一個信號量,注意這里是中斷上下文,最好別調用太多東西
osSemaphoreRelease(g_keySem);
}
void handlePressKeyTask(void* arg) {
(void)arg;
while(true) {
// 這里去消費按鍵事件
osStatus_t status = osSemaphoreAcquire(g_keySem,65535);
if(status != 0) {
continue;
}
while(true) {
unsigned short data = 0;
AdcRead(ANALOG_KEY_CHAN_NAME, &data, WIFI_IOT_ADC_EQU_MODEL_4, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0);
float voltage = (float)data * 1.8 * 4 / 4096;
if(voltage < 0.8f) {
ssd1306_Fill(Black);
ssd1306_SetCursor(0, 0);
ssd1306_DrawString("Key1 Pressed!", Font_7x10, White);
ssd1306_UpdateScreen();
} else if(voltage < 2.0f) {
ssd1306_Fill(Black);
ssd1306_SetCursor(0, 0);
ssd1306_DrawString("Key2 Pressed!", Font_7x10, White);
ssd1306_UpdateScreen();
} else {
ssd1306_Fill(Black);
ssd1306_SetCursor(0, 0);
ssd1306_DrawString("Released!", Font_7x10, White);
ssd1306_UpdateScreen();
break;
}
}
}
}
void initKey() {
// 端口設置為GPIO
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
// 設置為輸入
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
// 設置在下降沿中斷。(其實我想設置下降沿和上升沿中斷的,然而接口居然不允許)
osSemaphoreAttr_t semAttr = {
.name = "KeyPressSemi",
.attr_bits = 0,
.cb_mem = NULL,
.cb_size = 0
};
g_keySem = osSemaphoreNew(8, 0, &semAttr);
GpioRegisterIsrFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_INT_TYPE_EDGE, WIFI_IOT_GPIO_EDGE_FALL_LEVEL_LOW, KeyPressed, NULL);
// 這里啟動一個task處理按鍵事件
osThreadAttr_t attr;
attr.name = "KeyHandleTask";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = 2048;
attr.priority = osPriorityNormal;
if (osThreadNew(handlePressKeyTask, NULL, &attr) == NULL) {
printf("[%s]Falied to create KeyHandleTask!n", __func__);
}
}

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

    關注

    14

    文章

    2169

    瀏覽量

    124826
  • HarmonyOS
    +關注

    關注

    79

    文章

    1982

    瀏覽量

    30414
  • HiSpark
    +關注

    關注

    1

    文章

    156

    瀏覽量

    6945
收藏 人收藏

    評論

    相關推薦

    Wi-Fi 8要來了!未來Wi-Fi技術演進方向揭秘

    產品銷售中,雖然Wi-Fi 7產品的銷量份額快速從年初的個位數百分比增長至14%,但Wi-Fi 6產品的銷量份額依然穩定在60%左右。如果從存量設備來看,那么Wi-Fi 7路由器的占比將遠遠小于這個數。 ? 智能手機等終端設備已
    的頭像 發表于 11-24 03:14 ?1935次閱讀
    <b class='flag-5'>Wi-Fi</b> 8要來了!未來<b class='flag-5'>Wi-Fi</b>技術演進方向揭秘

    華為海思正式進入Wi-Fi FEM賽道?

    大家都知道了,2018年11 月離開銳迪科(RDA),前往福建晉江創立三伍微,專注于Wi-Fi射頻前端芯片,從路由器Wi-Fi FEM,到手機Wi-Fi FEM,再到IoT FEM全覆
    發表于 12-11 17:42

    摩爾斯微電子發布Wi-Fi HaLow評估套件,加速物聯網開發

    近日,全球領先的Wi-Fi HaLow解決方案提供商摩爾斯微電子正式推出一款開創性的評估套件——MM6108-EKH05。這款完全整合的開發平臺,旨在推動各行業物聯網解決方案的快速發展
    的頭像 發表于 12-11 13:40 ?344次閱讀

    Wi-Fi 4到Wi-Fi 7:網速飆升40倍的無線革命

    1 Wi-Fi技術的快速發展 每一代新的Wi-Fi協議發布,都會帶來更高的無線速率。 ? 從Wi-Fi 4到Wi-Fi 7:無線網絡技術顯著提升,實現了網速的巨大飛躍。 ? ?
    的頭像 發表于 12-09 10:10 ?375次閱讀
    從<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:網速飆升40倍的無線革命

    Wi-Fi 7與Wi-Fi 6E有什么區別

    也許很多人還在考慮是否要將使用的Wi-Fi設備升級到Wi-Fi 6或Wi-Fi 6E,而這些標準的繼任者卻已經開始“登堂入室”了。Wi-Fi 7是新一代
    的頭像 發表于 11-07 11:38 ?1079次閱讀

    最典型的3家Wi-Fi Halow芯片企業

    Wi-Fi Halow是Wi-Fi聯盟推出的專門面向物聯網市場的標準。
    的頭像 發表于 08-30 09:58 ?2077次閱讀
    最典型的3家<b class='flag-5'>Wi-Fi</b> Halow芯片企業

    未來的Wi-Fi路由器

    轉載自——鐘林談芯 沒有創新就沒有未來,Wi-Fi路由器也是如此。 進入2024年以后,Wi-Fi路由器市場變得更加艱難,利潤大幅下滑,BOM成本價高于市場價,接不接訂單,都陷入兩難。 國內主芯片
    的頭像 發表于 06-20 15:32 ?477次閱讀

    DA16200 超低功耗 Wi-Fi 模塊開發套件 Pro數據手冊

    電子發燒友網站提供《DA16200 超低功耗 Wi-Fi 模塊開發套件 Pro數據手冊.rar》資料免費下載
    發表于 05-30 17:53 ?1次下載
    DA16200 超低功耗 <b class='flag-5'>Wi-Fi</b> 模塊開發<b class='flag-5'>套件</b> Pro數據手冊

    DA16200 超低功耗 Wi-Fi 模塊開發套件數據手冊

    電子發燒友網站提供《DA16200 超低功耗 Wi-Fi 模塊開發套件數據手冊.rar》資料免費下載
    發表于 05-30 17:13 ?0次下載
    DA16200 超低功耗 <b class='flag-5'>Wi-Fi</b> 模塊開發<b class='flag-5'>套件</b>數據手冊

    AIROC? Wi-Fi和藍牙組合連接掉線的原因?怎么解決?

    我最近購買了一臺配備 AIROC? Wi-Fi 和藍牙組合模塊的筆記本電腦。 大多數時候,Wi-Fi 連接都能正常使用圖書館創世紀網站ePUB 轉換工具、在線書店和學術出版物,但我注意到藍牙連接總是
    發表于 05-24 07:48

    華為獲得全球首個國際Wi-Fi聯盟WFA企業級Wi-Fi 7認證!

    Wi-Fi聯盟已發布Wi-Fi 7認證標準,華為是第一批送測廠商,獲得業界首個企業級Wi-Fi 7 的Wi-Fi聯盟官方認證。
    的頭像 發表于 04-28 10:17 ?791次閱讀
    華為獲得全球首個國際<b class='flag-5'>Wi-Fi</b>聯盟WFA企業級<b class='flag-5'>Wi-Fi</b> 7認證!

    驗證物聯網Wi-Fi HaLow用例的MM6108-EKH08開發套件來啦

    驗證物聯網Wi-Fi HaLow用例的MM6108-EKH08開發套件來啦 MM6108-EKH08開發套件專為驗證物聯網Wi-Fi HaLow用例而設計。該
    的頭像 發表于 04-11 12:01 ?1819次閱讀
    驗證物聯網<b class='flag-5'>Wi-Fi</b> HaLow用例的MM6108-EKH08開發<b class='flag-5'>套件</b>來啦

    Wi-Fi 7與Wi-Fi 6的相關知識科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于藍
    的頭像 發表于 03-12 10:59 ?814次閱讀
    <b class='flag-5'>Wi-Fi</b> 7與<b class='flag-5'>Wi-Fi</b> 6的相關知識科普

    Wi-Fi的誕生與發展

    短距離無線通信技術有Wi-Fi、ZigBee、藍牙以及Z-Wave,今天我們先揭開Wi-Fi的神秘面紗。Chrent短距離無線通信技術——Wi-Fi過去的20多年,Wi-Fi靠著僅有的
    的頭像 發表于 03-07 08:26 ?1371次閱讀
    <b class='flag-5'>Wi-Fi</b>的誕生與發展

    Wi-Fi HaLow和傳統Wi-Fi的區別

    Wi-Fi HaLow和傳統Wi-Fi的區別? Wi-Fi是一種無線網絡技術,可以連接到互聯網或局域網,為用戶提供無線上網的便利。隨著科技的發展和互聯網的普及,Wi-Fi也在不斷演進和
    的頭像 發表于 02-02 15:28 ?1414次閱讀
    主站蜘蛛池模板: 99精品免费观看| 竹菊影视一区二区三区| 在线亚洲97se| 果冻传媒视频在线播放 免费观看| 日韩一本在线| 被公疯狂玩弄的漂亮人妻| 美女内射视频WWW网站午夜| 益日韩欧群交P片内射中文| 黄色小说在线| 国产扒开美女双腿屁股流白浆| 久久精品美女久久| 婬香婬色天天视频| 久久久久久久国产精品视频| 伊人色综合久久大香| 久久青青热| 6080yy 久久 亚洲 日本| 免费a毛片| 成人18视频在线观看| 日本久久精品免视看国产成人| 超碰超碰视频在线观看| 桃色园社区| 国产亚洲人成网站在线观看播放| 亚洲AV无码久久流水呻蜜桃久色| 国产做国产爱免费视频| 亚洲视频国产| 免费视频不卡| 干性感美女| 亚洲免费大全| 恋夜秀场支持安卓版全部视频国产| 2020亚洲国产在线播放在线| 内射白浆一区二区在线观看| 东北女人奶大毛多水多| 亚洲 日韩 欧美 另类 蜜桃| 久草在线在线精品观看| 99福利影院| 精品三级在线观看| 最近中文字幕完整版免费高清| 女人会操出水图| 国产精品婷婷五月久久久久| 亚洲最大成人| 秋霞成人午夜鲁丝一区二区三区|