从zigbee通过串口往ARM写数据的问题
时间:10-02
整理:3721RD
点击:
ARM跟电脑串口连接并用超级终端显示,zigbee板和ARM板用串口连接,现在想要zigbee通过串口给ARM发送数据,ARM接收之后在超级终端打印出来。
defAddr.addrMode = AddrBroadcast;
defAddr.addr.shortAddr = 0xFFFF;
defAddr.endPoint = LOCATION_BLINDNODE_ENDPOINT;
BlindNodeSendData[0] = 2;//目标节点
BlindNodeSendData[1] = 8;
BlindNodeSendData[2] = 4;
BlindNodeSendData[3] = msg[BLINDNODE_RESPONSE_X_LO_IDX];
BlindNodeSendData[4] = msg[BLINDNODE_RESPONSE_X_HI_IDX];
BlindNodeSendData[5] = msg[BLINDNODE_RESPONSE_Y_LO_IDX];
BlindNodeSendData[6] = msg[BLINDNODE_RESPONSE_Y_HI_IDX];
BlindNodeSendDatalen = 7;
//--------------------------------------------------------------------------------------
HalUARTWrite (0,BlindNodeSendData,BlindNodeSendDatalen);
这是zigbee里面往串口写的数组,BlindNodeSendData是unsigned char型数组,HalUARTWrite函数是往串口写的函数,没有问题。
void receive_ST1_1(int channel)
{
float t;
unsigned char echo[16];
unsigned char tmp[10];
int l,i;
while(1)
{
l= user_uart_read(channel,echo,16);
if(l>0)
{
printf("receive 2_robot msg:%s\n",echo);
for(i=0;i<4;i++) tmp=echo[i+3];
t=atof(tmp);
printf("2_robot_1 step value:%f\n",t);
return t;
}
}
return 0;
}
这个是ARM里面的从串口接收的函数,接收到的据保存在echo数组里面,实验结果是超级终端能显示“eceive 2_robot msg: ”为什么不显示我上面给的那些数字,应该怎么改呢,求各位大虾指点一下,好纠结
试着查下函数参数,看看是不是函数出问题了
试着查下函数参数,看看是不是函数出问题了
看看。