微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee协调器发送命令给终端节点失败

zigbee协调器发送命令给终端节点失败

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

通过串口,协调器发送命令给终端节点,如输入A,发送collect_start(0x01),不加zb_SendDataRequest这句的话,输入A后,LED亮,串口显示Starting Collect, 使用zb_SendDataRequest 向终端节点传送命令时,串口不能正常接收数据。求分析!在线等。

void my_Uart(void)
{
uint8 c;

uint8 pData[1];

c=Uart0Receive();

asm("NOP");

switch(c)
{
case 'A': //开始采集
HalLedSet( HAL_LED_1, HAL_LED_MODE_ON );
HalUARTWrite(0,"Starting Collect\n",17);
pData[0] = Collect_start;
zb_SendDataRequest(0xFFFF,SENSOR_CONTROL_CMD_ID,1,pData, 0,AF_SKIP_ROUTING,0 );
break;
case 'B': //停止采集
HalLedSet( HAL_LED_1, HAL_LED_MODE_OFF );
HalUARTWrite(0,"Stop Collect\n",13);
pData[0] = Collect_stop;
//zb_SendDataRequest( 0xFFFF, SENSOR_CONTROL_CMD_ID,1,pData, 0, AF_ACK_REQUEST, 0 );
break;
default:
break;
}
}

不要沉了

没明白什么意思,是加了zb_SendDataRequest串口无法接收到A字符还是?你的my_Uart(void)函数应该会在回调函数中一直调用,建议你把c变量用完之后清空下数值免得一直触发发送

谢谢,刚看到你的回复,接收不到字符A,我试一下清空c.

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

网站地图

Top