C++学习笔记---串口通信

串口基础知识

  • DB9针的RS-232串口,分别是公头、母头,这两种串口可以连接在一起。DB9针的串口信号脚编号及信号脚的具体含义如下
  • List item
    在这里插入图片描述
  • 串口通信可以使用3根线完成,对应信号脚分别是:2接收、3发送、5地线。对此,有个简单的记法:2收、3发、5地。
  • 串口通信分为同步、异步两种方式。
    同步串口通信时,发送方除了发送数据之外,还要把时钟信号也同步发送给对方,这就要求非常高的时钟精度,实施起来成本很高。
    异步通信方式时,发送端、接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
    异步通信是计算机通信中最常用的数据信息传输方式。
  • 在进行异步串口通信时,最重要的参数是波特率、数据位、停止位和校验位。对于两个需要进行通信的串口,必须采用相同的配置。
    1)波特率
    波特率用来衡量数据传输速率,它表示每秒钟传送的符号(位)的个数。例如,300波特率表示每秒钟发送300个符号,即300位。
    波特率与距离成反比。高波特率常用于距离很近的设备间的通信。当距离较长时,应该选取较低的波特率,并且需要防止电磁干
    扰,否则将导致误码率提高。
    2)数据位
    数据位用来衡量通信中实际数据位数。当计算机发送一个信息包时,可选的数据位标准值是5、6、7、8位。
    如何设置取决于传送的信息。比如,标准的ASCII码是0~127(7位),那么每个数据包使用7位数据位。
    数据包的内容包括开始/停止位,数据位和奇偶校验位。
    3)停止位
    停止位用于表示单个包的最后一位,可选值为1位、1.5位、2位。
    由于每个设备有自己的时钟,因此,可能在通信中两台设备间出现不同步的现象。
    所以停止位不仅表示传输的结束,也提供了计算机校正时钟同步的机会。
    停止位的位数越多,不同设备的时钟同步的容忍度越大,但数据传输也越慢
    4)校验位
    校验位用来在串口通信中进行简单的错误检查。在串口通信中,可选的校验为:无校验、奇校验、偶校验。
    接收设备能够据此知道是否有噪声干扰了通信,也可以判断传输数据、接收数据是否同步。
    注意:串口通信是独占式通信,也就是说,当某个进程A打开串口X后,其他进程无法访问串口X,只有当进程A关闭串口X后,其他进程才能访问串口X。当然,也可以在操作系统层监听串口通信
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值