我正在使用Arduino(C ++)和Raspberry Pi(Pyhon)和RF模块。
我对数据的转换有些怀疑。我从Arduino发送这些数据:
unsigned long numbers = {12345678};
和Raspberry收到:12345678
我正在使用的库有一个ackPayload
函数,所以我可以像这样发送数据:
akpl_buf = [c,1,2,3]
c
变量只是一个增量数字。
现在,在Arduino中,我收到了这个:
Received Ack:235802126
我使用static uint32_t
变量来接收覆盆子的答案,我就像这样打印它(在Arduino C ++中):printf("Received Ack:%lu\n\r",message_count);
问题是,如何转换收到的数据?它应该是:12,1,2,3
或12123
另外:目前正在打印什么类型的数据?
答案 0 :(得分:0)
经过一些研究并问了一些人,我知道RF库以字节为单位返回数据,因此Received Ack:235802126
是从字节到无符号长的转换
所以我要做的就是将数据分配给一个char数组,然后打印出来
char data[20];
importData(&data);
data[size+1] = '\0';
print data;
类似的东西。