c++ - 使用 C++ 在 Ubuntu 中从串口读取数据到 USB

标签 c++ ubuntu gps serial-port usbserial

我有一个带串行端口的 GPS,它有一条从串行端口到 USB 的传输电缆。它通过 USB 连接到笔记本电脑,并以 Hex 格式传输数据。我想在 Ubuntu 上的 C++ 代码中使用这些数据。我可以从哪里开始,以及如何设法读取数据,有什么想法吗?

最佳答案

首先打开一个文件(fstream、FILE * 或 OS 句柄)到“/dev/ttySn”,其中 n 是设备的编号,然后读取。

#include <string>
#include <fstream>
#include <iostream>

std::string str; 
std::fstream f; 
f.open("/dev/ttyS0"); 
while (f >> str)
{
   std::cout << str;
}

这应该会“回显”ttyS0 的内容——这当然可能是您设备的“错误”端口,但如果您知道它的连接位置,那应该可以完成这项工作。您可能还需要设置端口的配置。例如,使用 stty 命令 - 波特率是最重要的,所以像 stty -F/dev/ttyS0 19200 这样的命令会将波特率(实际上是比特率)设置为 19200比特每秒。大多数其他参数可能没问题。

关于c++ - 使用 C++ 在 Ubuntu 中从串口读取数据到 USB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300811/

相关文章:

c++ - 具有多个项目的 visual studio 解决方案无法编译

c++ - 在服务中模拟和加载用户配置文件后,环境变量是否受到影响?

ubuntu - 具有多个 aws 帐户的 Eb 工具

linux - 如何在 Ubuntu 终端中退出 emacs 文本编辑器?

android - 使用 Google Play Location API 获得速度

c++ - 使用 Qt 解析 JSON

c++ - yaml-cpp 遍历未定义值的 map 的最简单方法

ubuntu - 将 nethogs 速度输出保存到文件

ios - 是否可以在没有任何互联网连接/禁用蜂窝网络的情况下使用 Core Location/GPS?

postgresql - Postgis 经度、纬度转几何 postgresql