在 C++ 中转换接收到的数据
Convert received data in C++
我正在使用 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
加:当前正在打印什么类型的数据?
经过一些研究和询问一些人,我知道 RF 库以字节为单位返回数据,所以 Received Ack:235802126
是从字节到 unsigned long 的转换
所以我要做的就是将该数据分配给一个字符数组,然后打印它
char data[20];
importData(&data);
data[size+1] = '[=10=]';
print data;
类似的东西。
我正在使用 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
加:当前正在打印什么类型的数据?
经过一些研究和询问一些人,我知道 RF 库以字节为单位返回数据,所以 Received Ack:235802126
是从字节到 unsigned long 的转换
所以我要做的就是将该数据分配给一个字符数组,然后打印它
char data[20];
importData(&data);
data[size+1] = '[=10=]';
print data;
类似的东西。