【问题标题】:serial communication using c++ .in Linux在 Linux 中使用 c++ 进行串行通信
【发布时间】:2014-03-23 03:30:23
【问题描述】:

我可以串行发送 1 字节 char 类型的数据。现在我坚持发送浮点类型数据。这是我串行发送数据的代码。

fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY);
char byte_out[] = {0x47};
write(fd, byte_out, strlen(byte_out)+1);

如何串行写入(或发送)浮点型数据。请帮我 。提前致谢。

【问题讨论】:

  • 您应该定义您发送的协议和二进制(或文本)表示(它可能取决于另一方)。如果可能,请选择文本表示形式(也许JSON 可以激发您的灵感)。而且你的代码是错误的:byte_out 应该是 0 终止。

标签: c++ linux unix serial-port


【解决方案1】:

没什么不同..你需要把浮点类型的正确大小..

fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY);
float float_out[] = {1.2342};
write(fd, (void *) float_out, sizeof(float));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-13
    • 2014-10-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多