c - 向远程串行发送 2 个字节的十六进制

标签 c linux

我只需要将这样的十六进制发送到远程串口,设备就会接受它。

我需要发送的2字节十六进制是:

181E

我可以远程登录到远程串口并发送该命令:

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));

最佳答案

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

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

关于c - 向远程串行发送 2 个字节的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474339/

相关文章:

c - 当我使用 -std=c99 [c] 时套接字未声明

c - GLib 原子和内存块

linux - 重新格式化输出

c - 如何修复CONFIG_RETPOLINE = y,但编译器不支持

c++ - 如何在另一个C++程序中运行一个C++程序?

c# - 在 Centos (Linux) 上执行 C# 代码?

c++ - 最快的仪器分析器是什么

c - 如何在服务和用户进程之间共享内存?

linux - 自己的RS232设备作为linux文件系统设备

c++ - 为 Visual Studio 安装 openCV 2.4 for C/C++