基于zigbee协议栈的串口通信(一)

1.要想使用协议栈的串口通信,首先要知道串口通信所在的头文件,分别是

#include "hal_uart.h"

#include "MT_UART.h"

2.知道了串口通信所在的头文件以后,就需要知道串口通知所使用的几个基本函数:

首先是初始化函数:它的作用是确定是否使能改串口,还有确定该串口的波特率,回调函数等信息,可以参考我的的初始化:

void UartInitPort0(void )
{

          halUARTCfg_t uartConfig;//顶一个串口结构体
          uartConfig.configured             =TRUE;//串口配置为真
          uartConfig.baudRate               =HAL_UART_BR_115200;//波特率为115200
          uartConfig.flowControl            =FALSE;//流控制为假
          uartConfig.callBackFunc       =    rxCB;//这个是 回调函数的函数名
          HalUARTOpen(HAL_UART_PORT_0,&uartConfig);// 打开串口0
}

3.初始化函数编写完成后就可以编写回调函数,回调函数中需要用到协议栈的一个数据读取函数,我们可以在回调函数中加入我们想要实现的操作:

extern uint16 HalUARTRead ( uint8 port, uint8 *pBuffer, uint16 length );
函数作用:读取 port 串口 将 length 字节内容读取到 pBuffer

static void rxCB(uint8 port,uint8 event)
{

  unsigned char j=0,uartbuf[128]={0x00};
  //HalUARTRead(0,uartbuf,1);
 while (Hal_UART_RxBufLen(0)) //检测串口数据是否接收完成
  {
    HalUARTRead (0,&uartbuf[j], 1);  //把数据接收放到buf中
    j++;                           //记录字符数
 
  } 
  
}

4.这些都做完以后我们就可以再samplapp里面加入头文件在SampleApp_Init放入UartInitPort0(void )(),然后就可以调用HalUARTWrite(0,"UART_OPEN_SUFFCESS",sizeof("UART_OPEN_SUFFCESS"));就可以使用这个函数发送消息了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值