微波EDA网,见证研发工程师的成长!
微波EDA网
  • 首页
  • 微波射频
  • 射频和无线通信
  • 天线设计
  • 硬件设计
  • PCB和SI
  • 通信和网络
  • 测试测量
  • 应用设计
  • 研发杂谈
  • 研发问答
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zstack和cc2531发送函数的延迟问题。。

zstack和cc2531发送函数的延迟问题。。

时间:10-02 整理:3721RD 点击:

具体程序如下


char theMessageData[] = {CircleCount,uartnumber,UART_ADDR_buffer};
//发送函数
if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_LOC_EQP_CUR,
( byte )osal_strlen ( theMessageData ) + 1,
( byte *)&theMessageData,
&SampleApp_TransID,
AF_ACK_REQUEST,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{


if(SAMPLEAPP_LOC_EQP_CUR==SAMPLEAPP_LOC_EQP_LAST)
{
osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_DUO1_EVT,
20 );
}

}

我想实现的是在这个模块发送完成后20ms后切换信道,这个SAMPLEAPP_DUO1_EVT事件里就是一个切换信道的函数,但结果是他很多时候都是先切换信道再发送(当然也有先发送成功的),就导致其他模块收不到他发送的消息,我也想过收到应答后再切换,在 case AF_DATA_CONFIRM_CMD:里切换,同样的他还是会先切换信道,很是苦恼,而且我的项目要求这个速度,也就是时间间隔不能长。我想知道是不是cc2531的硬件有瓶颈,是不是切换信道是瞬间,但软件判定发送成功到硬件实现发送成功所需的时间很不确定,可能需要很长时间,大几十ms,如果真是这样工程师们有没有什么好的建议让这个模块确保硬件上发送成功后再切换信道。小弟在此多谢了。。。

你切换信道在哪里操作的

报告工程师,

  • osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_DUO1_EVT,
    20 );这个20ms后的事件内便是切换信道的函数,这个函数式确定发送成功后20ms后设置的事件,实际情况却是每次却是先切换信道才发送信息。。

原因是信道操作是通过修改寄存器直接可以实现的,相当于立即生效。

但是发送数据来说,虽然AF_DataReqeust返回的是成功,但是这个成功并不是无线发送成功了,而是成功的把数据加入到了底层发送的队列里面,实际发送需要等到底层调度到以后才能发送数据的。

上一篇:zigbee如何出厂前组网
下一篇:Router无法加入网络

函数 zstack 相关文章:

  • Zigbee数据发送与反馈及API函数zb_SendDataReques
  • 求助:Z-Stack 2530协议栈中EndDevice和Router相同函数,延时不同
  • CC2530调用什么函数发送应答帧?
  • 为什么定时器初始化函数放在睡眠中断里面,不起作用?
  • 请问各位老师zigbee2007中有HalTimerTick这个函数?
  • Z-Stack Lighting 1.0.2的SamplleLight加入串口函数,编译出错
栏目分类
  • 移动通信
  • 微波和射频技术
  • 无线和射频
  • PCB设计问答
  • 硬件电路设计
  • 嵌入式设计讨论
  • 手机设计讨论
  • 信号完整性分析
  • 测试测量
  • 微电子和IC设计
热门文章
  • 请教Z-Stack_Home_1.2.2 Sam
  • zigbee协调器怎么让end devi
  • 请问cc2530 coordinator 如
  • 关于Z-Stack1.2.2a 协议栈发
  • TI 新一代超低功耗ZigBee/6L
  • 请教关于修改节点类型,需要哪
  • zigbee协议栈建立网络问题
  • 尋找CC2530ZDK中SmartRF05EB板

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

网站地图

Top