3108|1

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

zigbee串口通信机制问题 [复制链接]

各位朋友,我想问下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执行指令不能成功。
请问各位朋友有解决的办法吗?

[ 本帖最后由 小小镇 于 2013-6-1 14:42 编辑 ]
此帖出自无线连接论坛

最新回复

试试Tinyos吧,我搞zigbee三年了,从不用zstack,原因不说了 欢迎加入贴吧 http://tieba.baidu.com/f?kw=tinyos%C4%A3%BF%E9&fr=index&fp=0 里面有QQ群,QQ群理由资料和源码  详情 回复 发表于 2013-6-3 14:47
点赞 关注
 

回复
举报

111

帖子

1

TA的资源

一粒金砂(高级)

沙发
 
试试Tinyos吧,我搞zigbee三年了,从不用zstack,原因不说了
欢迎加入贴吧
http://tieba.baidu.com/f?kw=tinyos%C4%A3%BF%E9&fr=index&fp=0
里面有QQ群,QQ群理由资料和源码
此帖出自无线连接论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表