Unix/C/C++--串口通信

1 串口介绍

串口叫做串行接口,也称串行通信接口,按电气标准及协议来分包括RS-232、RS-422、RS485、USB等。 RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。

  • RS-232:也称标准串口,是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”。传统的RS-232接口标准有22根线,采用标准25芯D型插头座。后来的PC上使用简化了的9芯D型插座。现在 应用中25芯插头座已很少采用。现在的电脑一般有两个串行口:COM1和COM2,你到计算机后面能看到9针D形接口就是了。现在有很多手机数据线或者物流接收器都采用COM口与计算机相连。
  • RS-422:为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到 4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。
  • RS-485:为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
  • USB:Universal Serial Bus(通用串行总线) 简称USB,是目前电脑上应用较广泛的接口规范,由Intel、Microsoft、Compaq、IBM、NEC、Northern Telcom等几家大厂商发起的新型外设接口标准。USB接口是电脑主板上的一种四针接口,其中中间两个针传输数据,两边两个针给外设供电。USB接口速度快、连接简单、不需要外接电源,传输速度12Mbps,最新USB2.0可达480Mbps;电缆最大长度5米,USB电缆有4条线,2条信号线,2条 电源线,可提供5伏特电源,USB电缆还分屏蔽和非屏蔽两种,屏蔽电缆传输速度可达12Mbps,价格较贵,非屏蔽电缆速度为1.5Mbps,但价格便 宜;USB通过串联方式最多可串接127个设备;支持热插拔。
  • RJ-45接口是以太网最为常用的接口,RJ45是一个常用名称,指的是由IEC (60)603-7标准化,使用由国际性的接插件标准定义的8个位置(8针)的模块化插孔或者插头。可以根据针脚的定义做成串口,多用于与串口服务器连接。

2 资料汇总

2.1 代码

  • wjwwood/serial链接
    This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial, but with the speed and control provided by C++.
  • Skiars/SerialTool链接
    SerialTool是一个跨平台的串口/网络调试工具。此工具支持串口调试助手、终端、波形显示和文件传输等功能。该工具的源代码使用GPL许可证发布。
    主要是基于 Qt 的库。

3 示例

4 注意事项

4.1 权限

linux 下操作,注意执行权限

4.2 虚拟机 波特率

虚拟机中,115200波特率发送的数据,都是零,桌面发送数据没问题
9600,没问题,这个坑比较大,后面分析一下原因。

参考

1、
2、串口通信Serial Port类C++实现
3、c++串口通信实例
4、Linux串口通信编程
5、串口编程(3)–实现Linux、Unix串口通讯
6、Linux下串口通信详解(上)打开串口和串口初始化详解

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读