您的位置:首页 > 其它

cc2531USB dongle 实现MT模式 数据转发 串口

2013-11-29 21:35 155 查看
由于项目需求要实现CC2531USB dongle的MT模式来实现dongle的数据转发功能,框架简图1所示。PC端实现了MT模式,也可以用Ztool。总结起来就是dongle在MT模式下接收串口数据(数据满足MT格式),然后将数据解析为具体方法,接收到node端发送的数据后将数据处理(封装成MT格式)再传给串口进而传给PC。



图1
好了,不多说了直接讲步骤。

环境:

操作系统:window xp

Zstack版本:2.5.0

IAR版本:8.11

1.下载基于GenericApp已经移植好USB驱动的工程文件GenericApp-CC2531.zip,下载链接

2.把解压后的文件夹拷贝..\TexasInstruments\ZStack-CC2530-2.5.0\Projects\zstack\Samples\GenericApp文件夹下,使用IAR打开工程。

3.在MT文件夹下找到MT_UART.c,然后找到MT_UartProcessZToolData函数:

/* Make sure it's correct */

if ((MT_UartCalcFCS ((uint8*)&pMsg->msg[0], MT_RPC_FRAME_HDR_SZ +LEN_Token) == FSC_Token))

{

//把osal_msg_send( App_TaskID, (byte *)pMsg );这句话注释掉添加//MT_AfCommandProcessing(pMsg->msg);别忘了添加MT_AF.h文件

//关于这个函数可以参见《如何在Zstack中使用串口.pdf》

//osal_msg_send( App_TaskID, (byte *)pMsg );

MT_AfCommandProcessing(pMsg->msg);

}

else

{

/* deallocate the msg */

osal_msg_deallocate ( (uint8 *)pMsg );

}

4.在第三部中相当于已经解决了从pc发到串口然后再由MT处理的过程,接下来就是要解决收到node的数据后如何返回给串口。打开GenericApp.c找到GenericApp_MessageMSGCB函数将其改为:

void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pkt )

{

MT_AfIncomingMsg(pkt);

}

别忘了添加#include"MT_AF.h"哈。

最好把GenericApp.c中的其他东西删除了,一方面看着简单,另一方面GenericApp.c里面还有一个定时发送功能。

5.然后就是编译下载了。

注意:

一定别忘了编译时的选项添加一个MT_UTIL_FUNC,在project->options->c/c++compiler->preprocess
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐