【发布时间】:2016-03-14 15:16:00
【问题描述】:
我正在编写一个小软件来使用 RN2483 收发器发送数据,并且我意识到当我通过串行发送数据时,我的数据被转换为 ASCII。也就是说,我在sender里面有以下部分,数据必须是HEX
String aux = String(message.charAt(i),HEX);
dataToBeTx = "radio tx " + aux+ "\r\n";
Serial1.print(dataToBeTx)
在接收器上,我正在读取 Serial1 直到我收到正确接收的消息,但是它是 HEX 数据的 ASCII 表示,我想要它是 HEX,我的意思是,我发送转换后的 HI到接收器上的 HEX (H I=>0x48 0x49) 如果我再次将该值转换为 HEX 我得到的东西与我的 H 或 I 不同,所以我猜它是用 ASCII 编码的,我该如何摆脱它?
提前致谢,
问候
【问题讨论】:
-
这有点不清楚。拥有 HEX 并成为 ASCII 是什么意思?您只能通过两种方式发送它:直接字节(表示 ASCII 中的 H 和 I)或字节的 ASCII 表示(表示文本 0x48 0x49)。如果是第一个,只需发送
message。 -
我的意思是,我必须发送 HEX 值,而不是 ascii 值,但我确实看到我的 HEX 数据正在映射到 ASCII
-
再一次,你能说明你的真正意思吗?什么是“发送 HEX 值”?当您只有
dataToBeTx = "radio tx " + message + "\r\n";并发送它时它是否有效?是这个意思吗?