我只需要发送一个十六进制这样的远程串行设备接受它。
我需要发送的2字节十六进制是:

181E

我可以远程登录到远程序列号并发送命令:
telnet x.x.x.x port

181E

我收到回复,没关系。
在linux c中如何做到这一点?
我想使用write函数。
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));

最佳答案

您需要发送十六进制字符串。所以,

const char cmd[] = "181E";
err = write(socket, cmd, strlen(cmd));

09-30 13:09