我只需要发送一个十六进制这样的远程串行设备接受它。
我需要发送的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));