日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】4, 按鍵驅(qū)動(dòng)LED

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-04 15:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:hehung, 帖子地址:https://bbs.elecfans.com/jishu_2013493_1_1.html


有一周多沒(méi)有時(shí)間弄這個(gè)板子了,這段時(shí)間實(shí)在是有點(diǎn)忙,這周末抓緊了點(diǎn)時(shí)間弄了弄。資料確實(shí)有點(diǎn)少了,只能一點(diǎn)一點(diǎn)的摸索。弄了一個(gè)按鍵控制LED的程序。

核心板上有一個(gè)LED以及按鍵,我們查看原理圖可以知道,LED連接到GPIO9,按鍵連接到了GPIO5.
221350hhw24gj1scgyhgjm.png?221351fb2h5du66pi15wdp.png
所以只需要初始化這兩個(gè)引腳作為輸入輸出就行了,還是比較簡(jiǎn)單的,因?yàn)槭菍W(xué)習(xí),所以從簡(jiǎn)單的開(kāi)始入手。

初始化代碼如下:
LED初始化,初始化為輸出:
  1. GpioInit();
  2. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
  3. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
復(fù)制代碼


KEY初始化函數(shù),初始化為輸入:
  1. GpioInit();
  2. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
  3. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
復(fù)制代碼


如何調(diào)用呢?
看下邊:
控制GPIO輸出,1為輸出高,0位輸出低:
  1. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
復(fù)制代碼
獲取GPIO輸入電平:
  1. WifiIotGpioValue Key_Status = WIFI_IOT_GPIO_VALUE1;
  2. GpioGetinputVal(WIFI_IOT_IO_NAME_GPIO_5, &Key_Status);
復(fù)制代碼
其中:Key_Status
就是獲取的電平值,GpioGetInputVal()的返回值表示獲取是否成功的標(biāo)志。
我創(chuàng)建了兩個(gè)任務(wù):
一個(gè)任務(wù)專(zhuān)門(mén)控制LED,一個(gè)任務(wù)控制Key。
上電之后,LED閃爍,頻率是500ms。
按下user按鍵之后,LED滅
再次按下user按鍵,LED亮
再次按下user按鍵,再次閃爍
以此循環(huán)。

完整代碼如下:
BUILD.gn
  1. static_library("myapp") {
  2. sources = [
  3. "my_main.c"
  4. ]
  5. include_dirs = [
  6. "http://utils/native/lite/include",
  7. "http://kernel/liteos_m/components/cmsis/2.0",
  8. "http://base/iot_hardware/interfaces/kits/wifiiot_lite",
  9. "http://vender/hisi/hi3861/hi3861/include"
  10. ]
  11. }
復(fù)制代碼


my_main.c函數(shù)
  1. /*this is my first application*/
  2. /*2020/11/08*/
  3. #include
  4. #include "ohos_init.h"
  5. #include "ohos_types.h"
  6. #include
  7. #include
  8. #include "ohos_init.h"
  9. #include "cmsis_os2.h"
  10. #include "wifiiot_gpio.h"
  11. #include "wifiiot_gpio_ex.h"
  12. #include "wifiiot_adc.h"
  13. #include
  14. #include
  15. #include
  16. #include
  17. #define LED_INTERVAL_TIME_US 500000 /*500ms*/
  18. #define LED_TASK_STACK_SIZE 512
  19. #define LED_TASK_PRIO 25
  20. #define KEY_INTERVAL_TIME_US 10000 /*10ms*/
  21. #define KEY_TASK_STACK_SIZE 1024
  22. #define KEY_TASK_PRIO 26
  23. static void *LedTask(const char *arg);
  24. static void *KeyTask(const char *arg);
  25. /*LED Control*/
  26. enum LedState {
  27. LED_ON = 0,
  28. LED_OFF,
  29. LED_SPARK,
  30. };
  31. enum LedState g_ledState = LED_SPARK;
  32. static void *LedTask(const char *arg)
  33. {
  34. (void)arg;
  35. while (1) {
  36. switch (g_ledState) {
  37. case LED_ON:
  38. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
  39. usleep(LED_INTERVAL_TIME_US);
  40. break;
  41. case LED_OFF:
  42. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
  43. usleep(LED_INTERVAL_TIME_US);
  44. break;
  45. case LED_SPARK:
  46. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
  47. usleep(LED_INTERVAL_TIME_US);
  48. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
  49. usleep(LED_INTERVAL_TIME_US);
  50. break;
  51. default:
  52. usleep(LED_INTERVAL_TIME_US);
  53. break;
  54. }
  55. }
  56. return NULL;
  57. }
  58. static void Led0Entry(void)
  59. {
  60. osThreadAttr_t attr;
  61. GpioInit();
  62. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
  63. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
  64. attr.name = "LedTask";
  65. attr.attr_bits = 0U;
  66. attr.cb_mem = NULL;
  67. attr.cb_size = 0U;
  68. attr.stack_mem = NULL;
  69. attr.stack_size = LED_TASK_STACK_SIZE;
  70. attr.priority = LED_TASK_PRIO;
  71. if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
  72. printf("[Led0Task] Falied to create LedTask!n");
  73. }
  74. }
  75. SYS_RUN(Led0Entry);
  76. /*OLED board KEY Control - vased on ADC input*/
  77. static void *KeyTask(const char *arg)
  78. {
  79. (void)arg;
  80. WifiIotGpioValue Key_Status = WIFI_IOT_GPIO_VALUE1;
  81. WifiIotGpioValue Last_key_Status = WIFI_IOT_GPIO_VALUE1;
  82. uint8_t Key_press_cnt = 0u;
  83. while (1) {
  84. GpioGetInputVal(WIFI_IOT_IO_NAME_GPIO_5, &Key_Status);
  85. // printf("%dn", Key_Status);
  86. if((Key_Status == WIFI_IOT_GPIO_VALUE0) && (Last_key_Status != Key_Status))
  87. {
  88. // Key_press_cnt = (Key_press_cnt>2) ? 0:(++Key_press_cnt);
  89. if(Key_press_cnt >= 2)
  90. {
  91. Key_press_cnt = 0;
  92. }
  93. else
  94. {
  95. Key_press_cnt ++;
  96. }
  97. switch(Key_press_cnt)
  98. {
  99. case 0:g_ledState = LED_ON;break;
  100. case 1:g_ledState = LED_OFF;break;
  101. case 2:g_ledState = LED_SPARK;break;
  102. }
  103. }
  104. else
  105. {
  106. }
  107. Last_key_Status = Key_Status;
  108. usleep(LED_INTERVAL_TIME_US);
  109. }
  110. return NULL;
  111. }
  112. static void KeyEntry(void)
  113. {
  114. osThreadAttr_t attr;
  115. GpioInit();
  116. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
  117. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
  118. // AdcRead();
  119. attr.name = "KeyTask";
  120. attr.attr_bits = 0U;
  121. attr.cb_mem = NULL;
  122. attr.cb_size = 0U;
  123. attr.stack_mem = NULL;
  124. attr.stack_size = KEY_TASK_STACK_SIZE;
  125. attr.priority = KEY_TASK_PRIO;
  126. if (osThreadNew((osThreadFunc_t)KeyTask, NULL, &attr) == NULL) {
  127. printf("[KeyTask] Falied to create KeyTask!n");
  128. }
  129. }
  130. SYS_RUN(KeyEntry);
復(fù)制代碼

我的軟件目錄如下:
222233qia6nisa6sd6dz4i.png

最后效果圖見(jiàn)視頻。
聲明:本文內(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)投訴
  • wi-fi
    +關(guān)注

    關(guān)注

    15

    文章

    2468

    瀏覽量

    130084
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2157

    瀏覽量

    36323
  • HiSpark
    +關(guān)注

    關(guān)注

    1

    文章

    156

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)

    本文要點(diǎn)Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的硬件和軟件解決方案,使設(shè)備能夠通過(guò)Wi-Fi網(wǎng)絡(luò)實(shí)現(xiàn)通信。Wi-Fi模塊設(shè)計(jì)是一個(gè)復(fù)雜的過(guò)程,要求研發(fā)人員兼具硬件與軟件工程方面的專(zhuān)業(yè)知識(shí)
    的頭像 發(fā)表于 02-27 17:12 ?913次閱讀
    技術(shù)資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設(shè)計(jì)

    ESP32 Wi-Fi 控制 LED 燈的原理

    控制LED燈的——從底層硬件連接,到網(wǎng)絡(luò)通信邏輯,一步步拆解整個(gè)過(guò)程。一、系統(tǒng)概覽ESP32是一顆集成度極高的芯片,內(nèi)置Wi-Fi、藍(lán)牙、雙核MCU和豐富的外設(shè)接
    的頭像 發(fā)表于 01-09 19:04 ?623次閱讀
    ESP32 <b class='flag-5'>Wi-Fi</b> 控制 <b class='flag-5'>LED</b> 燈的原理

    E101-32WN4 遙控飛機(jī)控制系統(tǒng)Wi-Fi模塊的應(yīng)用評(píng)估報(bào)告

    E101-32WN4-XS-UE,Wi-Fi 模塊
    的頭像 發(fā)表于 01-09 16:57 ?938次閱讀

    Wi-Fi:無(wú)線連接的全球通用語(yǔ)

    Wi-Fi功能,跨品牌、跨設(shè)備互聯(lián)互通性強(qiáng),生態(tài)完整。3. 靈活部署,易于擴(kuò)展支持星型、Mesh等多種組網(wǎng)方式,可根據(jù)環(huán)境靈活布置接入點(diǎn),擴(kuò)大覆蓋范圍。4. 技術(shù)持續(xù)演進(jìn)從802.11a/b/g到
    發(fā)表于 01-07 09:49

    Nordic發(fā)布nRF7002 EBII 開(kāi)發(fā)板, 支持Wi-Fi 6, 解鎖nRF54L新玩法

    Wi-Fi 6 功能,幫助開(kāi)發(fā)人員創(chuàng)建高性能、高能效的Wi-Fi 6 物聯(lián)網(wǎng)解決方案。 基于 Nordic 的 nRF7002 Wi-Fi 協(xié)同 IC,nRF7002 EBII幫助 采用
    發(fā)表于 12-10 11:58

    Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來(lái)越多的場(chǎng)景需要用到Wi-Fi來(lái)無(wú)線傳輸數(shù)據(jù),尤其是移動(dòng)設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來(lái)介紹下Wi-Fi模塊
    的頭像 發(fā)表于 12-09 11:27 ?1387次閱讀
    <b class='flag-5'>Wi-Fi</b>模塊選型指南 | 低功耗藍(lán)牙/<b class='flag-5'>Wi-Fi</b> 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    作者: Qorvo 亞太區(qū)無(wú)線連接事業(yè)部高級(jí)行銷(xiāo)經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開(kāi)放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4
    發(fā)表于 09-19 18:29 ?2515次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關(guān)鍵器件——BAW濾波器新技術(shù)

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

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

    LitePoint Wi-Fi測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來(lái),作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶實(shí)現(xiàn)無(wú)所不在無(wú)線連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件測(cè)試納
    的頭像 發(fā)表于 08-06 15:34 ?1426次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b>測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    雙頻匹配 SP4T Wi-Fi 交換機(jī) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()雙頻匹配 SP4T Wi-Fi 交換機(jī)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有雙頻匹配 SP4T Wi-Fi 交換機(jī)的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,雙頻匹配
    發(fā)表于 08-01 18:34
    雙頻匹配 SP<b class='flag-5'>4</b>T <b class='flag-5'>Wi-Fi</b> 交換機(jī) skyworksinc

    銳捷網(wǎng)絡(luò):Wi-Fi 7加速演進(jìn),2025年進(jìn)入快速爬坡期

    隨著4K/8K、VR/AR、遠(yuǎn)程醫(yī)療、工業(yè)物聯(lián)網(wǎng)等新型應(yīng)用的不斷涌現(xiàn),家庭、企業(yè)和工業(yè)環(huán)境對(duì)Wi-Fi網(wǎng)絡(luò)提出了更高要求。在此驅(qū)動(dòng)下,行業(yè)正向Wi-Fi 7加速演進(jìn),而2025年成為
    的頭像 發(fā)表于 08-01 10:29 ?1324次閱讀
    銳捷網(wǎng)絡(luò):<b class='flag-5'>Wi-Fi</b> 7加速演進(jìn),2025年進(jìn)入快速爬坡期

    Texas Instruments CC335x SimpleLink?雙頻Wi-Fi? 6配套IC數(shù)據(jù)手冊(cè)

    Texas Instruments CC335x SimpleLink?雙頻Wi-Fi ^?^ 配套IC提供Wi-Fi 6、BLE,并兼容Wi-Fi 4 (802.11 a/b/g/n
    的頭像 發(fā)表于 07-23 11:37 ?1791次閱讀
    Texas Instruments CC335x SimpleLink?雙頻<b class='flag-5'>Wi-Fi</b>? 6配套IC數(shù)據(jù)手冊(cè)

    有沒(méi)有什么修復(fù)方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時(shí)正常工作?

    我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開(kāi) Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無(wú)法從中央設(shè)備連接到 BLE。它可以立即連接并斷開(kāi)連接。有沒(méi)有什么修復(fù)方法可以確保 AP 模式下的
    發(fā)表于 07-17 06:13

    科普|公司的Wi-Fi,為什么這么慢?

    大家在公司上班,經(jīng)常會(huì)使用到Wi-Fi。最近這幾年,隨著時(shí)代的發(fā)展,高清視頻會(huì)議等大帶寬網(wǎng)絡(luò)應(yīng)用越來(lái)越普遍。而公司的網(wǎng)絡(luò),卻非常不給力,頻繁卡頓,嚴(yán)重影響使用體驗(yàn)。哪怕IT的同事已經(jīng)把網(wǎng)絡(luò)優(yōu)化得很
    的頭像 發(fā)表于 06-20 06:06 ?1852次閱讀
    科普|公司的<b class='flag-5'>Wi-Fi</b>,為什么這么慢?

    Wi-Fi 8:開(kāi)啟極高可靠性 (UHR) 連接的新紀(jì)元——1

    ,在2019年,Wi-Fi 6憑借著MU-MIMO、1024QAM、OFDMA等“革命性創(chuàng)新”技術(shù),大幅提升了Wi-Fi 本身的能效,讓Wi-Fi 6在短短的3-4年內(nèi)成為
    發(fā)表于 06-13 11:09
    墨脱县| 台北市| 长白| 垦利县| 芦山县| 基隆市| 鲁山县| 离岛区| 民乐县| 元氏县| 城市| 桦南县| 渝北区| 万盛区| 平江县| 福清市| 大名县| 莒南县| 泸溪县| 梁平县| 进贤县| 扬州市| 屯留县| 小金县| 博客| 邓州市| 福海县| 泾阳县| 保山市| 建平县| 新蔡县| 夏河县| 林芝县| 女性| 肇东市| 四平市| 麻阳| 石渠县| 昌乐县| 河北省| 尉犁县|