我正在做物联网项目来远程控制空调。我从https://www.iotdesignpro.com/projects/universal-iot-based-ac-remote-that-can-control-your-ac-using-google-assistant这个网站。红外信号发送十六进制值。当我传输红外信号时,为什么我必须将其转换为原始数据格式然后再传输?为什么我不能发送十六进制本身?
答案1
从你所看到的自由使用来看,uint64ToString
它是十六进制的文本表示,而不是实际的十六进制。
文本 ”0x85“” 打印在屏幕上或通过串行端口是四个字符,每个字符为 8 位或 16 位(对于 UTF-16),实际上不是0x85
十六进制。打印时为 32 位,实际十六进制只有 8 位。
转换纯粹是为了方便阅读,打印实际0x85
值将导致一些实际上不可读的东西并可能使串行控制台出现异常。