新闻中心

EEPW首页>手机与无线通信>设计应用> 基于CC2430和ZigBee2006协议栈的通信模块设计

基于CC2430和ZigBee2006协议栈的通信模块设计

作者: 时间:2010-04-01 来源:网络 收藏

3.1 串口部分程序
(1)串口初始化
主要是设置halUARTCfg_t结构体成员值:

本文引用地址://m.amcfsurvey.com/article/157540.htm

通过对halUARTCfg_t赋值,可以设置波特率、字符数、数据位、停止位、奇偶校验位和硬件流控等。其中call-BackFunc是自定义设置串口回调函数,即一旦串口有数据传送,OSAL会就自动转到自定义的回调函数,执行自定义的操作。
(2)串口回调函数
首先调用Hal_UART_RxBufLen(uint8 port)函数确定串口数据的长度,然后再调用HalUARTRead(uint8 port,uint8*buf,uintl6 len)读取串口数据到自定义的串口数据缓冲区,并调用osal_set_event(byte task_id,UINTl6 event_flag)函数发送事件信号,进行数据的无线发送。
3.2 无线接收、发送部分程序
(1)无线接收
当有数据通过无线发送到应用层时,应用层会发送1个AE_INCOMING_MSG_CMD消息事件。
case AF_INCOMING_MSG_CMD:
GenericApp_MessageMSGCB(MSGpkt);
break:
这里表示收到AF_INCOMING_MSG_CMD消息事件,然后调用收到消息事件的信息处理函数GenericApp_MessageMSGCB(MSGpkt),开始接收数据并通过涮用串口HalUARTWrite(uint8 port,uint8*buf,uintl6 len)写函数发送接收到的数据。
(2)无线发送
在串口回调函数中当串口有数据输入时,应用层会发送1个GENERICAPP_SEND_MSG_EVT消息事件。

调用GenericApp_SendThmMessage()数据发送函数,具体到TI/Chipcon公司所提供的栈中即为AF_DataRequest()函数,具体形式如下:


结语
本文以为主体了无线的硬件,并选用TI/Chipcon公司免费提供的栈作为软件开发平台。通过实验验证,的硬件节点基本达到了项目要求。经调试,串口能够正确地接收和发送数据,能够实现多个无线节点(1个协调器,3个终端设备)在50 m左右的和数据传输,并通过计算机串口调试软件测试正确。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭