-1

我正在使用 Particle Photon 微控制器,需要通过 TCP 发送值 >> 255。我需要将其转换为 uint8_t 数组,以便我可以使用client.write((int8_t *data), int sizeof(packet)); 如何实现它?

4

2 回答 2

0

如果可能,为您的数据选择一致的“字节序”——“大字节序”是二进制网络协议的典型特征——它用于 IP、UDP、TCP 等中的标头字段。

鉴于此,您可以使用htonX函数系列将数据从主机格式(可能是任何一种字节序格式)转换为网络格式,然后ntohX在收到时将其再次转换回来,例如:

uint32_t netword = htonl(data);

[在大端系统上,这些函数变成“无操作”]

编辑哦-我错过了“微控制器”位-您可能没有这些功能可用:(

于 2016-03-22T11:34:09.060 回答
-2

使用了 ScruffR 在这篇文章中所说的

EDIT 以前的版本实际上并没有正确地完成这项工作。采用的解决方案,没有人(尽管投票反对)提供

char buf[SIZEBUFF];
sprintf(buf,"%s",float2send);
sprintf(buf,"%ld",longInt2send);
于 2016-03-22T12:01:02.637 回答