Embedded 如何向XBee发送有效负载
我已经在一个嵌入式平台上实现了以下代码,该平台尝试与。执行以下代码的嵌入式平台不是xbee:Embedded 如何向XBee发送有效负载,embedded,xbee,Embedded,Xbee,我已经在一个嵌入式平台上实现了以下代码,该平台尝试与。执行以下代码的嵌入式平台不是xbee: intmain() { 字符有效负载[12]={0x61,0x88,0x00,0x64,0x00,0x00,0x00,0x00,0x00,0xEC,0x00,0x00} 有效载荷[2]=0x10; 有效载荷[9]=0x01; 字符数据='H';//向XBee发送简单的ASCII字符 有效载荷[11]=数据; 而(1) 发送字节数据(有效载荷,12); } 无效发送字节数据(字符*有效负载,整数长度) {
intmain()
{
字符有效负载[12]={0x61,0x88,0x00,0x64,0x00,0x00,0x00,0x00,0x00,0xEC,0x00,0x00}
有效载荷[2]=0x10;
有效载荷[9]=0x01;
字符数据='H';//向XBee发送简单的ASCII字符
有效载荷[11]=数据;
而(1)
发送字节数据(有效载荷,12);
}
无效发送字节数据(字符*有效负载,整数长度)
{
int x;
对于(x=0;x一些想法
将有效负载设置为无符号字符数组
,或者更好的设置为uint8\u t
要更新有效负载[2]和有效负载[9],请简化代码:
++payload[2];
++payload[9];
if (payload[9] == 0) payload[9] = 1;
在发送之间添加延迟。在发送下一个字符之前,您甚至可能需要等待响应
由于它是一个无符号8位值的有效载荷,它们将自动从255滚动到0。我假设有效载荷[9]的特殊情况代码正试图从255滚动到1(而不是0)
确保负载不需要包含某种校验和。更新这两个字节会影响校验和字节。在sendByteOfData()
中修改payload[]
是错误的编码;为什么在main()中不执行此递增操作
?。实际上,过程名称完全是误导性的,因为sendByteOfData()
将传输多个字节。
++payload[2];
++payload[9];
if (payload[9] == 0) payload[9] = 1;