国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】5.OLED板模擬開關按鍵操作

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-11-04 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發燒友社區,作者:hehung, 帖子地址:https://bbs.elecfans.com/jishu_2013902_1_1.html

玩玩OLED板子上面的兩個模擬開關S1與S2。
首先查看原理圖:
這兩個按鍵是連接在GPIO5上面的,我在上一個帖子上面使用的User按鍵也是連接在這個端口的,GPIO是一個模擬端口使用了ADC2,通過這個模擬端口我們可以一次性讀取三個按鈕的值了。
從原理圖可以看出,S1按鈕的值就為參考電壓*(1/(4.7+1)),S2按鈕的值就為參考電壓*((1+1)/(4.7+1+1)),具體數值可以寫一個程序用串口讀取讀出的ADC數字來查看。
231428av83e08rqgaz896z.png?231429e7vkkzcsss6lqrs5.png?231612h2r5s5gdrr55rfzr.png


我最開始寫了一個程序用來讀取按下按鍵之后的ADC的電壓。
按下User按鍵之后電壓值為160,而且按下User+S2+S2都是這個值,因為User按鈕沒有接電阻,按下之后相當于電流沒有從S1和S2流過。
單獨按下S1的值大概為320。同時按下S1和S2的話,值也是S1的值320.因為電流也只會從S1流過,感覺這個模擬開關設計不是很好,應該多加兩個電阻,讓S1和S2同時按下的時候有不同的值,這樣相當于多了一種按鍵情況。
單獨按下S2的值為548.

我在寫程序的時候發現ADC并不需要初始化,可以直接讀取就行了。
所以設計程序如下:
創建任務
  1. static void KeyEntry(void)
  2. {
  3. osThreadAttr_t attr;
  4. // GpioInit();
  5. // IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
  6. // GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
  7. // AdcRead();
  8. attr.name = "KeyTask";
  9. attr.attr_bits = 0U;
  10. attr.cb_mem = NULL;
  11. attr.cb_size = 0U;
  12. attr.stack_mem = NULL;
  13. attr.stack_size = KEY_TASK_STACK_SIZE;
  14. attr.priority = KEY_TASK_PRIO;
  15. if (osThreadNew((osThreadFunc_t)KeyTask, NULL, &attr) == NULL) {
  16. printf("[KeyTask] Falied to create KeyTask!n");
  17. }
  18. }
  19. SYS_RUN(KeyEntry);
復制代碼


模擬開關值讀取:
  1. static void *KeyTask(const char *arg)
    {
    (void)arg;
hi_u16 Key_adc_value = 0u;
hi_u32 ret = 0;

  • while (1) {
    ret = hi_adc_read((hi_adc_channel_index)HI_ADC_CHANNEL_2, &Key_adc_value,
    HI_ADC_EQU_MODEL_1, HI_ADC_CUR_BAIS_DEFAULT, 0);
    if (ret != HI_ERR_SUCCESS) {
    printf("ADC Read Failn");
    }
    else
    {
    // printf("ADC value = %d", Key_adc_value);
    }
  • /*User 按鍵ADC值讀出來大概為116*/
    /*S1 按鍵ADC讀出來大概為320*/
    /*S2 按鍵ADC讀出來大概為548*/
    if(Key_adc_value <= 200)
    {
    printf("User key pressedn");
    }
    else if(Key_adc_value <= 400)
    {
    printf("User S1 pressedn");
    }
    else if(Key_adc_value <= 600)
    {
    printf("User S2 pressedn");
    }
    else
    {
    }
    usleep(KEY_INTERVAL_TIME_US);
    }
  • return NULL;
    }
復制代碼

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

    關注

    15

    文章

    2424

    瀏覽量

    129553
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36053
  • HiSpark
    +關注

    關注

    1

    文章

    156

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    技術資訊 I Wi-Fi 模塊設計

    本文要點Wi-Fi模塊設計旨在打造一套緊湊且高效的硬件和軟件解決方案,使設備能夠通過Wi-Fi網絡實現通信。Wi-Fi模塊設計是一個復雜的過程,要求研發人員兼具硬件與軟件工程方面的專業知識
    的頭像 發表于 02-27 17:12 ?570次閱讀
    技術資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設計

    Wi-Fi:無線連接的全球通用語

    與數據鏈路層的規范。 l Wi-Fi聯盟:成立于1999年的國際組織,負責Wi-Fi商標認證、技術推廣與互操作性測試。 l 頻段:主要使用2.4GHz與5GHz頻段,部分支持6GHz,
    發表于 01-07 09:49

    Nordic發布nRF7002 EBII 開發, 支持Wi-Fi 6, 解鎖nRF54L新玩法

    5 GHz)以及高級 Wi-Fi 6 功能,例如目標喚醒時間 (TWT)、OFDMA 和 BSS 著色,從而實現高效、無干擾的電池供電運行。它采用雙頻芯片天線,確保在各個 Wi-Fi 頻段上都能提供
    發表于 12-10 11:58

    RK3506工控核心Wi-Fi模組性能測試報告

    RK3506工控核心Wi-Fi模組性能測試報告測試概述本次測試對比了三種不同WiFi模組在2.4GHz和5GHz頻段的網絡吞吐量性能,使用iperf3工具進行30秒的多線程傳輸測試
    的頭像 發表于 10-14 17:09 ?2690次閱讀
    RK3506工控<b class='flag-5'>板</b>核心<b class='flag-5'>板</b><b class='flag-5'>Wi-Fi</b>模組性能測試報告

    ?Microchip WILCS02 Wi-Fi?模塊開發技術解析與應用指南

    Microchip Technology WILCS02 Wi-Fi^?^ 鏈路控制器SD是一款安全數字 (SD) 卡接口,支持2.4GHz IEEE^?^ 802.11 b/g/n標準。該
    的頭像 發表于 10-06 15:54 ?1214次閱讀
    ?Microchip WILCS02 <b class='flag-5'>Wi-Fi</b>?模塊開發<b class='flag-5'>板</b>技術解析與應用指南

    淺談Wi-Fi 6E與Wi-Fi 7的關鍵器件——BAW濾波器新技術

    ,美國聯邦通信委員會(FCC)投票通過將6GHz頻譜劃為免許可頻段供Wi-Fi使用,這標志著Wi-Fi正式進入“三頻”時代——除Wi-Fi 6及前代技術使用的2.4GHz和5GHz頻段
    發表于 09-19 18:29 ?2126次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關鍵器件——BAW濾波器新技術

    如何在 NuMaker-IoT-M467 上使用 Arduino IDE 控制 Wi-Fi 模塊?

    在NuMaker開發上,有一個ESP-12F Wi-Fi模塊;但是,Arduino IDE 中的 NuMaker UNO 包不提供該模塊的相關控制。如果您希望在 Arduino IDE 中控制此模塊,您應該如何進行?
    發表于 09-04 08:28

    如何更新 NuMaker IoT 上的 Wi-Fi 模塊固件?

    更新 NuMaker IoT 上的 Wi-Fi 模塊固件
    發表于 09-04 08:28

    Texas Instruments CC335x SimpleLink?雙頻Wi-Fi? 6配套IC數據手冊

    ) 和Wi-Fi 5 (802.11ac)。這些CC335x是Texas Instruments的第10代連接組合芯片。因此,CC335x基于成熟的技術設計而成。這些器件非常適合配備運行TCP/IP的Linux或
    的頭像 發表于 07-23 11:37 ?1341次閱讀
    Texas Instruments CC335x SimpleLink?雙頻<b class='flag-5'>Wi-Fi</b>? 6配套IC數據手冊

    如何選擇合適的芯科科技Wi-Fi開發

    您正在尋找適用于超低功耗物聯網應用項目的Wi-Fi 開發嗎?本文將介紹Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗藍牙5.4解決方案的Wi-Fi
    的頭像 發表于 07-09 09:15 ?2688次閱讀

    Wi-Fi HaLow如何突破傳統Wi-Fi性能瓶頸?

    !傳統Wi-Fi的痛點高頻段衰減快:5GHz信號穿墻后衰減超80%,地下室、倉庫成盲區;大帶寬高耗電:設備需持續處理高速數據流,智能門鎖電池1個月耗盡;信道擁堵:
    的頭像 發表于 04-22 11:38 ?1122次閱讀
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破傳統<b class='flag-5'>Wi-Fi</b>性能瓶頸?

    基于 Wi-Fi 的定位服務

    以下捕獲使用 location_wifi_get 函數請求 Wi-Fi 定位服務。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。 Got location: method
    發表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服務

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優化定位算法,基于 Nordic SoC 和 模組的產品可在定位用例
    發表于 04-17 15:07

    Wi-Fi 定位服務

    Wi-Fi 是一種著名的無線網絡技術,用于設備的局域網和互聯網接入。Wi-Fi 通過 Wi-Fi 網絡為家庭、辦公室和學校等環境提供便捷的無線互聯網接入服務。 Wi-Fi 定位是一種
    發表于 04-17 15:01

    如何為驅動添加Wi-Fi功能

    為驅動添加Wi-Fi功能,可以通過硬件和軟件兩種途徑實現。
    的頭像 發表于 04-16 14:22 ?928次閱讀