zigbee 串口通信

串口常用函数:

HalUARTOpen() // 打开串口
HalUARTRead() // 读取串口数据
HalUARTWrite() // 向串口发送数据

1、定义串口缓存区

// 串口数据缓存
unsigned char uartbuf[128];

2、定义串口回调函数

static void rxCB(uint8 port, uint8 event);  // 串口回调函数

3、在应用初始化中进行串口初始化

void GenericApp_Init(byte task_id){
    halUARTCfg_t uartConfig;  // 定义串口配置
    GenericApp_TaskID = task_id;
    GenericApp_TransID = 0;
    
    GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT;
    GenericApp_epDesc.task_id = &GenericApp_TaskID;
    GenericApp_epDesc.simpleDesc = (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;
    GenericApp_epDesc.latencyReq = noLatencyReqs;
    afRegister(&GenericApp_epDesc);
    
    // 串口配置
    uartConfig.configured = TRUE;
    uartConfig.baudRate = HAL_UART_BR_115200;
    uartConfig.flowControl = FALSE;
    uartConfig.callBackFunc = rxCB;// 回调函数
    HalUARTOpen(0, &uartConfig);
}

4、回调函数

static void rxCB(uint8 port, uint8 event){
    HalUARTRead(0, uartbuf, 13);
    if(osal_memcmp(uartbuf, "www.luchg.com", 13)){
        HalUARTWrite(0, uartbuf, 13);
    }
}

5、添加宏定义 HAL_UART=TRUE

发表评论