HarmonyHI3861模块中的Wi-Fi物联网智能家居套件——实现UART2串口通信在模块中,UART2使用GPIO11和GPIO12引脚。串口通讯一般是单片机最基本的通讯方式。我们一般调试的时候,一是开灯,二是打开串口。虽然现在的开发板已经有了串口输出(UART0),但是这个串口是官方自带的,我们还是需要熟悉一下串口的使用。GPIO11->UART2_TXGPIO12->UART2_RX接下来我们实现UART2的初始化,将UART2接收到的数据从UART2发送出去。硬件连接图串口相关函数如下:code\base\iot_hardware\frameworks\wifiiot_lite\src\wifiiot_uart.c//初始化函数unsignedintUartInit(WifiIotUartIdxid,constWifiIotUartAttribute*param,constWifiIotUartExtraAttr*extraAttr)//读取datafunctionintUartRead(WifiIotUartIdchardxid,unsigned*data,unsignedintdataLen)//写数据函数intUartWrite(WifiIotUartIdxid,constunsignedchar*data,unsignedintdataLen)开发过程:1.在vendor\hisi\hi3861\hi3861\build\config\usr_config.mk中启用UART2并修改CONFIG_UART2_SUPPORT=y2。初始化GPIO为UART2(注意,如果已经执行了步骤1,则不需要此过程)如果配置了CONFIG_UART2_SUPPORT=y,则后面文件中的GPIO11和12会自动初始化为UART2vendor\hisi\hi3861\hi3861\app\wifiiot_app\init\app_io_init.c#ifdefCONFIG_UART2_SUPPORT/*uart2sigma认证使用串口*/hi_io_set_func(HI_IO_NAME_GPIO_11,HI_IO_FUNC_GPIO_11_UART2_TXD);/*uart2tx*/hi_io_set_func(HI_IO_NAME_GPIO_12,HI_IO_FUNC_GPIO_12_UART2_RXD);/*uart2rx*/#endif3.初始化UART2配置intusr_uart2_config(void){intret;//初始化UART2配置,115200,数据位为8,停止位为1,奇偶校验为NONE,流控为NONEWifiIotUartAttributeg_uart2_cfg={115200,8,1,WIFI_IOT_UART_PARITY_NONE,0};ret=UartInit(WIFI_IOT_UART_IDX_2,&g_uart2_cfg,NULL);if(ret!=0){printf("uart2initfail\r\n");}returnret;}4.调用UART读写函数unsignedcharbuff[50]={0};unsignedintlen=0;unsignedintui=0;len=UartRead(WIFI_IOT_UART_IDX_2,buff,50);//接收串口2数据if(len>0){printf("UART2recvlen=%d\r\n",len);for(ui=0;ui
