精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

鴻蒙HI3861模塊中WiFi IoT智能家居套件 - UART2串口通信實現

系統
在HI3861模塊中,UART2使用GPIO11和GPIO12管腳,串口通信一般是一個單片機最基本通信,我們一般調試的時候一個是點燈,另外一個就是打通串口。

[[353644]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

在HI3861模塊中,UART2使用GPIO11和GPIO12管腳,串口通信一般是一個單片機最基本通信,我們一般調試的時候一個是點燈,另外一個就是打通串口

雖然目前的開發板已經有串口輸出了(UART0),但是這個串口是官方自帶的,我們還是要熟悉一下串口的使用過程。

GPIO11->UART2_TX

GPIO12->UART2_RX

下面我們實現UART2的初始化,并將UART2接收到的數據從UART2發送出去。

硬件連接圖

[[353645]]

串口相關的函數如下:

code\base\iot_hardware\frameworks\wifiiot_lite\src\wifiiot_uart.c

  1. //初始化函數 
  2. unsigned int UartInit(WifiIotUartIdx id, const WifiIotUartAttribute *param, const WifiIotUartExtraAttr *extraAttr) 
  3.  
  4. //讀數據函數 
  5. int UartRead(WifiIotUartIdx id, unsigned char *data, unsigned int dataLen) 
  6.  
  7. //寫數據函數 
  8. int UartWrite(WifiIotUartIdx id, const unsigned char *data, unsigned int dataLen) 

開發過程:

1. 使能UART2

在 vendor\hisi\hi3861\hi3861\build\config\usr_config.mk 修改 CONFIG_UART2_SUPPORT=y

2. 初始化GPIO為UART2(注意,如果已經執行步驟1,則不需要本過程)

如果已經配置 CONFIG_UART2_SUPPORT=y,則以下文件中的GPIO11,12會被自動初始化為UART2

vendor\hisi\hi3861\hi3861\app\wifiiot_app\init\app_io_init.c

  1. #ifdef CONFIG_UART2_SUPPORT 
  2.     /* uart2 sigma認證使用串口 */ 
  3.     hi_io_set_func(HI_IO_NAME_GPIO_11, HI_IO_FUNC_GPIO_11_UART2_TXD); /* uart2 tx */ 
  4.     hi_io_set_func(HI_IO_NAME_GPIO_12, HI_IO_FUNC_GPIO_12_UART2_RXD); /* uart2 rx */ 
  5. #endif 

3. 初始化UART2配置

  1. int usr_uart2_config(void) 
  2.     int ret; 
  3.  
  4.     //初始化UART2配置,115200,數據bit為8,停止位1,奇偶校驗為NONE,流控為NONE 
  5.     WifiIotUartAttribute g_uart2_cfg = {115200, 8, 1, WIFI_IOT_UART_PARITY_NONE, 0}; 
  6.     ret = UartInit(WIFI_IOT_UART_IDX_2, &g_uart2_cfg,NULL); 
  7.  
  8.     if (ret != 0)  
  9.     { 
  10.         printf("uart2 init fail\r\n"); 
  11.     } 
  12.     return ret; 

 4. 調用UART讀寫函數

  1. unsigned char buff[50] = {0}; 
  2.    unsigned int len = 0; 
  3.    unsigned int ui = 0; 
  4.    len = UartRead(WIFI_IOT_UART_IDX_2, buff, 50);//接收串口2數據 
  5.    if(len > 0) 
  6.    { 
  7.        printf("UART2 recv len=%d\r\n", len); 
  8.        for(ui = 0 ; ui < len; ui++) 
  9.        { 
  10.            printf("0x%x\r\n", buff[ui]); 
  11.        } 
  12.        UartWrite(WIFI_IOT_UART_IDX_2, buff, len);//數據發送給串口2 
  13.    } 

 5. 完整的代碼 uart2_demo.c

路徑:code\applications\sample\wifi-iot\app\hello_world\uart2_demo.c

  1. #include <stdio.h> 
  2. #include <unistd.h> 
  3. #include "ohos_init.h" 
  4. #include "cmsis_os2.h" 
  5. #include "wifiiot_gpio.h" 
  6. #include "wifiiot_gpio_ex.h" 
  7. #include "wifiiot_uart.h" 
  8. #include "wifiiot_uart_ex.h" 
  9.  
  10. /* 
  11. 2020年11月19日  
  12. 作者:hcl0317 
  13. 鏈接: 
  14. 實現功能: 
  15. GPIO11->UART2_TX  
  16. GPIO12->UART2_RX  
  17.  
  18. 1. 在 vendor\hisi\hi3861\hi3861\build\config\usr_config.mk 修改 CONFIG_UART2_SUPPORT=y 
  19. 2. 打開上面的宏定義后,在 vendor\hisi\hi3861\hi3861\app\wifiiot_app\init\app_io_init.c中會自動對 GPIO11和GPIO12進行初始化 
  20.  
  21. //#ifdef CONFIG_UART2_SUPPORT 
  22. //    //uart2 sigma認證使用串口 
  23. //    hi_io_set_func(HI_IO_NAME_GPIO_11, HI_IO_FUNC_GPIO_11_UART2_TXD); // uart2 tx  
  24. //    hi_io_set_func(HI_IO_NAME_GPIO_12, HI_IO_FUNC_GPIO_12_UART2_RXD); // uart2 rx  
  25. //#endif 
  26.  
  27. //3.初始化UART2配置,115200,數據bit為8,停止位1,奇偶校驗為NONE,流控為NONE 
  28.  
  29. //4.在任務中調用串口讀寫函數,收到什么數據,發送什么數據 
  30.  
  31. */ 
  32.  
  33. int usr_uart2_config(void) 
  34.     int ret; 
  35.  
  36.     //初始化UART2配置,115200,數據bit為8,停止位1,奇偶校驗為NONE,流控為NONE 
  37.     WifiIotUartAttribute g_uart2_cfg = {115200, 8, 1, WIFI_IOT_UART_PARITY_NONE, 0}; 
  38.     ret = UartInit(WIFI_IOT_UART_IDX_2, &g_uart2_cfg,NULL); 
  39.  
  40.     if (ret != 0)  
  41.     { 
  42.         printf("uart2 init fail\r\n"); 
  43.     } 
  44.     return ret; 
  45.  
  46.  
  47. //1.任務處理函數 
  48. static void* Uart2Demo_Task(const char* arg) 
  49.     unsigned char buff[50] = {0}; 
  50.     unsigned int len = 0; 
  51.  
  52.     (void)arg; 
  53.     printf("[Uart2Demo] Uart2Demo_Task()\n"); 
  54.  
  55.     GpioInit();//使用GPIO,都需要調用該接口 
  56.  
  57.     printf("UART2 init...\r\n"); 
  58.     usr_uart2_config(); 
  59.  
  60.  
  61.     while(1) 
  62.     { 
  63.         //logic code for task 
  64.         unsigned int ui = 0; 
  65.         len = UartRead(WIFI_IOT_UART_IDX_2, buff, 50);//接收串口2數據 
  66.         if(len > 0) 
  67.         { 
  68.             printf("UART2 recv len=%d\r\n", len); 
  69.             for(ui = 0 ; ui < len; ui++) 
  70.             { 
  71.                 printf("0x%x\r\n", buff[ui]); 
  72.             } 
  73.             UartWrite(WIFI_IOT_UART_IDX_2, buff, len);//數據發送給串口2 
  74.         } 
  75.  
  76.         //usleep(500000); 
  77.         usleep(100000); 
  78.     } 
  79.   
  80.     return NULL
  81.  
  82. //2.任務入口函數 
  83. static void Uart2Demo_Entry(void) 
  84.     osThreadAttr_t attr = {0}; 
  85.  
  86.     printf("[Uart2Demo] Uart2Demo_Entry()\n"); 
  87.  
  88.     attr.name = "Uart2Demo_Task"
  89.     attr.attr_bits = 0U; 
  90.     attr.cb_mem = NULL
  91.     attr.cb_size = 0U; 
  92.     attr.stack_mem = NULL
  93.     attr.stack_size = 1024;//堆棧大小 
  94.     attr.priority = osPriorityNormal;//優先級 
  95.  
  96.     if (osThreadNew((osThreadFunc_t)Uart2Demo_Task, NULL, &attr) == NULL
  97.     { 
  98.         printf("[Uart2Demo] Falied to create LedTask!\n"); 
  99.     } 
  100.  
  101. //3.注冊模塊 
  102. SYS_RUN(Uart2Demo_Entry); 

6. 業務代碼的編譯腳本 BUILD.gn

路徑:code\applications\sample\wifi-iot\app\uart2_demo\BUILD.gn

  1. static_library("uart2_demo_app") { 
  2.     sources = [ 
  3.         "uart2_demo.c" 
  4.     ] 
  5.  
  6.     include_dirs = [ 
  7.         "//utils/native/lite/include"
  8.         "//kernel/liteos_m/components/cmsis/2.0"
  9.         "//base/iot_hardware/interfaces/kits/wifiiot_lite"
  10.     ] 

 7. 模塊的編譯腳本BUILD.gn

路徑:code\applications\sample\wifi-iot\app\BUILD.gn

  1. import("//build/lite/config/component/lite_component.gni"
  2.  
  3. lite_component("app") { 
  4.     features = [ 
  5.         "startup"
  6.         #"hello_world:hello_world_app"
  7.         "uart2_demo:uart2_demo_app" 
  8.     ] 

 執行結果,左側是開發板原來的串口0,右側是新增的串口2

 

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區 

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-11-13 11:53:52

4.WiFi IoT

2020-11-10 12:08:25

開發框架

2021-04-29 09:52:25

鴻蒙HarmonyOS應用

2023-04-07 09:14:31

硬件通信串口通信實驗

2020-10-28 10:00:09

海思Hi3861CentOS鴻蒙LiteOS

2020-12-21 09:57:52

OLED溫濕度計hi3861

2020-11-24 10:05:54

人工智能

2015-08-26 10:14:28

2021-01-15 15:36:32

人工智能智能家居機器人

2021-03-09 09:56:42

物聯網安全物聯網IOT

2020-10-16 09:50:37

Hi3861WiFi熱點

2022-02-24 16:39:41

OpenHarmonNiobe開發鴻蒙

2019-12-24 19:31:27

智能家居物聯網技術

2014-07-15 09:50:08

WiFi聯網  

2020-10-26 10:21:39

Wi-Fi IoT智能家居套件

2015-10-15 10:32:48

WiFi物聯網智能家居

2020-12-30 11:02:34

鴻蒙HarmonyOS智能家居

2020-12-18 11:54:43

物聯網安全智能家居IOT

2011-06-22 17:49:35

Linux Qt 串口

2020-11-04 13:20:14

HiSpark
點贊
收藏

51CTO技術棧公眾號

欧美精品九九| 亚洲一区二区三区xxx视频| 国产欧美 在线欧美| 91蝌蚪视频在线| 久久国产视频一区| 精品中文在线| 国产精品九色蝌蚪自拍| 欧美性受xxx| jjzz黄色片| 久久99精品久久久久久野外| 久久99国产精品视频| 亚洲午夜精品在线| 亚洲影视中文字幕| www.天天色| 一区二区三区四区视频免费观看| 国产精品日产欧美久久久久| 欧美一乱一性一交一视频| 欧美黄色一级生活片| 亚洲精品永久免费视频| va亚洲va日韩不卡在线观看| 欧美激情精品久久久久| 日本一区二区三区在线免费观看| 免费网站成人| 精品一区二区三区香蕉蜜桃 | 久久精品中文字幕电影| 国产一区视频免费观看| 手机福利在线| 午夜在线一区| 日韩精品在线免费观看| 亚洲午夜无码av毛片久久| 污污网站在线免费观看| 一本久道久久综合狠狠爱| 欧洲三级视频| 国产在线精品一区二区不卡了| 亚洲男人天堂网站| av天堂永久资源网| 精品一二三区视频| 青青草国产成人99久久| 最近2019免费中文字幕视频三| 久久综合伊人77777麻豆最新章节| 国产综合在线观看| 成人18视频在线播放| 国产做受高潮69| 懂色av粉嫩av蜜乳av| 日韩三级影视| 中文字幕在线观看不卡视频| 欧美最大成人综合网| 中文字幕+乱码+中文| 久久在线视频免费观看| 日韩亚洲欧美高清| 欧美,日韩,国产在线| 九色在线免费| 久久无码av三级| 91精品视频在线播放| 日韩xxxxxxxxx| 狠狠88综合久久久久综合网| 亚洲美女福利视频网站| 国产一级伦理片| 国产三级一区| 亚洲国产成人91porn| 欧洲一区二区日韩在线视频观看免费| 日韩在线观看视频一区| 美日韩一级片在线观看| 欧美激情免费观看| 久久免费视频播放| 不卡av一区二区| 精品成a人在线观看| 中文字幕在线观看第三页| 日韩免费小视频| 亚洲一区欧美一区| 男女激情免费视频| 秋霞成人影院| 亚洲日本成人在线观看| 欧洲高清一区二区| av电影在线网| 久久亚洲欧美国产精品乐播| 欧美日韩国产一二| 亚洲国产欧美另类| 另类综合日韩欧美亚洲| 91po在线观看91精品国产性色| 国产探花视频在线| 久久视频社区| 日韩美女在线视频| 亚洲精品自拍网| 最新欧美色图| 欧美日韩激情一区二区| 男人亚洲天堂网| 91精品国产66| 一本大道久久a久久综合| 成人在线免费观看视频网站| jizz日韩| 国产欧美一区二区三区在线老狼| 国产超碰91| av观看在线免费| 蓝色福利精品导航| 高清一区二区三区视频| 嫩草研究院在线观看| a级精品国产片在线观看| 欧美在线一区二区三区四区| av在线免费观看网址| 国产精品免费aⅴ片在线观看| 99视频精品全部免费看| 免费黄网站在线播放| 亚洲国产视频在线| 在线免费观看av的网站| 成人黄色图片网站| 色婷婷精品大视频在线蜜桃视频| 17c国产在线| 日韩三级成人| 欧美久久婷婷综合色| 国产成人黄色网址| 黄色欧美网站| 亚洲国产精品999| 国产免费一区二区三区最新6| 日韩精品久久久久久久软件91| 欧美精品粉嫩高潮一区二区| 黄色av电影网站| 国产精品久久久久久影院8一贰佰| 三级精品视频久久久久| 免费观看成人毛片| 久久九九精品| 国产精品美女呻吟| 在线免费观看日韩视频| 久久电影网电视剧免费观看| 国产一区福利视频| 四虎精品在线| 亚洲影院久久精品| 男人午夜视频在线观看| 精品国产中文字幕第一页 | 久久五月精品| 欧美三级中文字| www.日本一区| 国产一区二区三区探花 | 老司机av在线免费看| 一本大道av伊人久久综合| 水蜜桃av无码| 亚洲高清免费| 日产精品久久久一区二区福利| 日韩人妻精品中文字幕| hitomi一区二区三区精品| 欧美 日韩 国产精品| 中文字幕日本一区| 精品国产伦一区二区三区免费| av在线免费播放网址| 日本不卡不码高清免费观看 | 欧美电影免费| 国产欧美一区二区白浆黑人| 国产伦理一区二区| 福利一区二区在线| 麻豆av一区二区三区| 999在线视频| 欧美亚洲高清一区二区三区不卡| 肉色超薄丝袜脚交| 日韩精品欧美| 国内精品久久久久久久| www.成人在线观看| 91片在线免费观看| 一区二区三区偷拍| 激情影院在线| 午夜激情综合网| 国产视频手机在线播放| 精品美女久久| 国产精品视频导航| 日本美女高清在线观看免费| 亚洲高清不卡在线| 亚洲美女在线播放| 一区二区久久| 日本一区视频在线播放| 欧美卡一卡二| 亚洲国产三级网| 三级av在线免费观看| 久久九九99| 亚洲最大免费| 三级成人黄色影院| 中文字幕欧美视频在线| 好吊妞视频一区二区三区| 91色乱码一区二区三区| 日韩肉感妇bbwbbwbbw| 91成人观看| 国产精品狼人色视频一区| 在线日本视频| 精品国产一区二区三区久久久蜜月| 中文字幕在线观看免费视频| 狠狠色丁香婷婷综合久久片| 欧美国产一区二区在线| 国产成人精品一区二区三区视频| 久久影视电视剧免费网站| 欧美三级网站在线观看| 26uuu久久综合| 天天干天天操天天玩| 欧美成人午夜| 92国产精品视频| av蜜臀在线| 亚洲成年人在线播放| 三级网站在线播放| 久久免费国产精品| 天天操狠狠操夜夜操| 国产一区二区三区不卡视频网站| 国产一区玩具在线观看| 国产美女高潮在线观看| 欧美xxx久久| 青青青在线视频| 国产福利一区二区三区视频在线 | 97视频在线观看网站| 精品久久久三级丝袜| 久久国产香蕉视频| 五月婷婷激情综合| 在线观看中文av| 亚洲深夜av| 精品在线视频一区二区| 国产在线精彩视频| 久久精品国产欧美激情| 天堂av网在线| 欧美成人乱码一区二区三区| 在线观看 亚洲| 午夜欧美一区二区三区在线播放| 国精品人伦一区二区三区蜜桃| 92国产精品观看| 国产又黄又大又粗视频| 综合日韩在线| 国产高清在线精品一区二区三区| 久久亚洲人体| 国产z一区二区三区| 国产福利在线看| 欧美日韩另类一区| 国产三级精品三级在线观看| 午夜av一区二区三区| 久久久久久久福利| 亚洲天堂2014| 韩国一级黄色录像| 国产盗摄精品一区二区三区在线| 黄色三级视频片| 天天操综合网| 亚洲午夜精品久久久久久浪潮| 国产videos久久| 久久国产精品久久| 成人综合网站| 97视频免费看| 超碰免费97在线观看| 精品在线小视频| 亚洲欧美色视频| 日韩精品在线免费观看| 日本免费不卡| 56国语精品自产拍在线观看| 久久久久噜噜噜亚洲熟女综合| 一区在线观看视频| 无码国产69精品久久久久网站 | 国产精品久久久久久亚洲色| 国产成人av一区二区三区在线 | 亚洲第一主播视频| 久草资源在线视频| 亚洲国产成人tv| 在线观看黄网站| 欧美性猛交xxxx久久久| 国产精品无码久久久久一区二区| 开心九九激情九九欧美日韩精美视频电影| 毛片av免费在线观看| 日韩国产在线观看一区| 欧美做受777cos| 午夜精品久久| av日韩一区二区三区| 日韩免费高清| 欧美一级免费在线观看| 羞羞色国产精品网站| 亚洲自拍欧美另类| 伊人久久影院| 久久久综合亚洲91久久98| 精品高清在线| 国产a级片免费看| 国自产拍偷拍福利精品免费一| 天天夜碰日日摸日日澡性色av| 久久久精品午夜少妇| 三上悠亚在线一区二区| 粉嫩蜜臀av国产精品网站| 捆绑凌虐一区二区三区| 国产一区二区看久久| 亚洲乱妇老熟女爽到高潮的片| 97久久人人超碰| 国产一区二区三区视频播放| 亚洲在线一区二区三区| 182在线观看视频| 一区二区三区欧美日韩| 亚洲综合第一区| 一区二区三区鲁丝不卡| 国产一级免费视频| 91精品国产欧美一区二区| 中文字幕第99页| 欧美一区二区三区四区五区 | 亚洲视频在线二区| 韩国欧美一区| 国产三级国产精品国产专区50| 国产精品123区| 欧美特级黄色录像| 亚洲精品大片www| 无码无套少妇毛多18pxxxx| 日韩欧美专区在线| 成人高清在线| 国内精品一区二区三区| 深夜日韩欧美| 久久五月天婷婷| 欧美激情91| 亚洲黄色小视频在线观看| fc2成人免费人成在线观看播放| 在线观看亚洲大片短视频| 久久久美女毛片| 男女做爰猛烈刺激| 一区二区激情小说| 在线观看黄色国产| 亚洲美女自拍视频| 超黄网站在线观看| 91九色在线视频| 成人午夜av| 国产免费毛卡片| 国产成人av电影| 内射一区二区三区| 欧美性猛片aaaaaaa做受| 午夜小视频免费| 久操成人在线视频| 丰满大乳少妇在线观看网站| 国产精品亚洲精品| 国产一区2区| jizzjizzxxxx| 暴力调教一区二区三区| 国产精品久久久久久久精| 亚洲一区二区三区四区在线观看| 自拍偷拍精品视频| 亚洲人成电影在线观看天堂色| 国产在线观看免费| 55夜色66夜色国产精品视频 | 欧美va日韩va| 国产黄a三级三级三级av在线看| 国产精品久久久久久久天堂| 一区二区三区日本久久久| 日本成人三级电影网站| 亚洲三级视频| 麻豆一区二区三区视频| 99re亚洲国产精品| 色网站在线播放| 亚洲精品www久久久| av中文字幕在线看| 国产精品二区三区| 伊人久久婷婷| 亚洲午夜久久久久久久久| 亚洲综合一二三区| 亚洲精品18在线观看| 久久久久久69| 欧美free嫩15| 日韩av一级大片| 日韩高清在线电影| 欧美丰满老妇熟乱xxxxyyy| 亚洲精品成人精品456| 国产日韩欧美一区二区东京热| 久久中文字幕在线视频| 日韩精品成人在线观看| 国产真人做爰毛片视频直播| 成人短视频下载| 免费黄色网址在线| 日韩一区二区三区观看| 天天干在线视频论坛| 国产精品久久久久久av福利软件 | 国模私拍一区二区国模曼安| 久久久久天天天天| 人禽交欧美网站| 欧美黄色aaa| 在线视频欧美精品| 亚洲免费黄色片| 久久精品国产69国产精品亚洲| 亚洲日本免费电影| www国产无套内射com| 99视频精品免费视频| 无码任你躁久久久久久久| 久久精品成人动漫| 91精品入口| 999香蕉视频| 亚洲色图欧洲色图婷婷| 黄色av网站免费在线观看| 日本高清视频一区| 国产人妖ts一区二区| 99视频精品全部免费看| 成年人午夜久久久| 在线亚洲欧美日韩| 久久久久久亚洲精品中文字幕| 神马久久一区二区三区| 国产精品自在自线| 黄色精品在线看| 日韩三级影院| 久久久久无码国产精品一区| 久久国产人妖系列| 99热国产在线观看| www.日韩免费| 国产成人精品一区二区三区视频| 国产精品视频网站在线观看| 国产一区啦啦啦在线观看| 日产欧产va高清| 久久精品电影网站| 国产不卡一区| 国产精品九九视频| 欧美日韩和欧美的一区二区| 美女在线视频免费| 久久99精品久久久水蜜桃|