我只需要将这样的十六进制发送到远程序列,设备就可以接受它。
我需要发送的2字节十六进制是:
181E
我可以telnet到远程串口并发送该命令:
telnet x.x.x.x port
181E
我得到了回复,这没关系。
如何在linux c中执行此操作?
我想使用写入功能。
err = write(socket,181E,2);
或者如何将2字节的十进制数存储到变量中,以便将其读取为181E?
int this_is_2_bytes = 181E; // Is this correct?
err = write(socket, this_is_2_bytes, sizeof(this_is_2_bytes));
答案 0 :(得分:1)
您需要发送十六进制字符串。所以,
const char cmd[] = "181E";
err = write(socket, cmd, strlen(cmd));
答案 1 :(得分:0)
不,在所有系统上编写int都不正确。写一个双元素字节数组。
答案 2 :(得分:0)
write()函数需要一个指针作为第二个参数。将它存储在字符数组中。