電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 532|回復(fù): 0
收起左側(cè)

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連連載】+ 5、點亮三色燈板

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-10-29 11:56:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連連載】+ 5、點亮三色燈板,      學(xué)習(xí)GPIO例程,驅(qū)動 HiSpark_WiFi_IoT_SSL_VER.A 板上的紅、黃、綠色LED燈。

   
  一、硬件電路



     1.1、HiSpark_WiFi_IoT_SSL板對應(yīng)的LED引腳圖

     

01.png (30.99 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳

     

02.png (24.17 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳



     1.2、擴(kuò)展板對應(yīng)的IO口

     

03.png (51.07 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳




     二、程序



      2.1、創(chuàng)建文件

      在applications/sample/wifi-iot/app/下面創(chuàng)建測試用的文件

      

04.png (47.04 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳



     2.2、源文件

     2.2.1、ledgpio.c



  • #include <stdio.h>
      

  •   
  • #include <unistd.h>
      

  •   
  • #include “ohos_init.h“
      
  • #include “cmsis_os2.h“
      
  • #include “wifiiot_gpio.h“
      
  • #include “wifiiot_gpio_ex.h“
      

  •   
  • #define  LED_RED    WIFI_IOT_IO_NAME_GPIO_10
      
  • #define  LED_YELL   WIFI_IOT_IO_NAME_GPIO_12
      
  • #define  LED_GREEN  WIFI_IOT_IO_NAME_GPIO_11
      

  •   

  •   
  • static void *LedTask(const char *arg)
      
  • {
      
  •     (void)arg;
      
  •     while (1)
      
  •     {
      
  •         GpioSetOutputVal(LED_RED, 1);
      
  •         GpioSetOutputVal(LED_YELL, 1);
      
  •         GpioSetOutputVal(LED_GREEN, 1);
      
  •         usleep(200000);
      

  •   
  •         GpioSetOutputVal(LED_RED, 0);
      
  •         GpioSetOutputVal(LED_YELL, 1);
      
  •         GpioSetOutputVal(LED_GREEN, 1);
      
  •         usleep(200000);
      
  •         GpioSetOutputVal(LED_RED, 1);
      
  •         GpioSetOutputVal(LED_YELL, 0);
      
  •         GpioSetOutputVal(LED_GREEN, 1);
      
  •         usleep(200000);
      
  •         GpioSetOutputVal(LED_RED, 1);
      
  •         GpioSetOutputVal(LED_YELL, 1);
      
  •         GpioSetOutputVal(LED_GREEN, 0);
      
  •         usleep(200000);
      
  •     }
      

  •   
  •     return NULL;
      
  • }
      

  •   

  •   
  • static void ledgpio(void)
      
  • {
      
  •     osThreadAttr_t attr;
      

  •   
  •     GpioInit();
      
  •     IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
      
  •     GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
      

  •   
  •     IoSetFunc(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_FUNC_GPIO_10_GPIO);    //LED_RED
      
  •     GpioSetDir(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_DIR_OUT);
      

  •   
  •     IoSetFunc(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_IO_FUNC_GPIO_11_GPIO);    //LED_YELL
      
  •     GpioSetDir(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_DIR_OUT);
      

  •   
  •     IoSetFunc(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_FUNC_GPIO_12_GPIO);    //LED_GREEN
      
  •     GpioSetDir(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_GPIO_DIR_OUT);
      

  •   
  •     attr.name = “LedgpioTask“;
      
  •     attr.attr_bits = 0U;
      
  •     attr.cb_mem = NULL;
      
  •     attr.cb_size = 0U;
      
  •     attr.stack_mem = NULL;
      
  •     attr.stack_size = 512;
      
  •     attr.priority = 27;
      

  •   
  •     if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
      
  •         printf(“[Ledgpio] Falied to create LedTask!\n“);
      
  •     }
      
  • }
      

  •   
  • SYS_RUN(ledgpio);

復(fù)制代碼



     2.2.2、BUID.gn






  •   
  • static_library(“l(fā)edgpio“) {
      
  •     sources = [
      
  •         “l(fā)edgpio.c“
      
  •     ]
      

  •   
  •     include_dirs = [
      
  •         “//utils/native/lite/include“,
      
  •         “//kernel/liteos_m/components/cmsis/2.0“,
      
  •         “//base/iot_hardware/inteRFaces/kits/wifiiot_lite“,
      
  •     ]
      
  • }

復(fù)制代碼

     2.3、編譯程序



     

05.png (29.25 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳



     2.4、下載程序



     

06.png (58.71 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳




   三、程序執(zhí)行





     三色LED燈順序點亮

     

100.gif (859.75 KB, 下載次數(shù): 0)

下載附件  保存到相冊  

1 小時前 上傳
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表