微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee串口通信机制问题

zigbee串口通信机制问题

时间:10-02 整理:3721RD 点击:
各位朋友,我想问下zigbee中的串口通信机制是如何的?我所研究的项目是用zigbee中的单片机CC2530控制GSM模块发送和接收信息。因为GSM控制涉及的指令的发送,每条指令执行成功与否都与前一条指令执行成功与否有关。但是我用zigbee通过串口控制GSM时,所有指令都会全部一起通过串口发送出去,就类似串口将一个程序的每一条串口发送程序的数据存储在缓存区,然后通过串口全部一起发送出去了。请问如何改变这种发送方式呢。我尝试过用定时函数发送,例如:
{
static uint8 i=0;
while(i<12)
{
switch(i)
{
case 5:
HalUARTWrite(0,at_f,4);
HalUARTWrite(0,enter,2);
break;
case 6:
HalUARTWrite(0,at_test,2);
HalUARTWrite(0,enter,2);
break;
case 7:
HalUARTWrite(0,at_cmgf,9);
HalUARTWrite(0,enter,2);
break;
case 8:
HalUARTWrite(0,at_csca,22);
HalUARTWrite(0,enter,2);
break;
case 9:
HalUARTWrite(0,at_cmgs,19);
HalUARTWrite(0,enter,2);
break;
case 10:
HalUARTWrite(0,msg,5);
break;
case 11:
HalUARTWrite(0,one_A,1);
HalUARTWrite(0,enter,2);
break;
}
i++;
if(i>=12)
i=12;
}
}
然后在协调器程序用osal_start_timerEx(GenericApp_TaskID,GSM_RUNNING_EVENT,2000);定时发送,能成功。但是会与其他需要用到串口的数据冲突。我的想法是想让每条指令都在GSM.C的文件中通过延时一条一条发送出去,而不是一下子把全部的指令一起发送出去。这样我的gsm执行指令不能成功。
请问各位朋友有解决的办法吗?

试试Tinyos吧,我搞zigbee三年了,从不用zstack,原因不说了
欢迎加入贴吧
http://tieba.baidu.com/f?kw=tiny ... p;fr=index&fp=0
里面有QQ群,QQ群理由资料和源码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top