C语言进阶:串口

物理特性定义

串行通信接口的基本任务

  • 实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务.在异步通信方式下,接口自动生成起止式的帧数据格式.在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符;
  • 进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据.所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理.因此串并转换是串行接口电路的重要任务;
  • 控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力;
  • 进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码.在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误;
  • 进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换;
  • 提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线.这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制;

串行通信接口电路的组成

为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片,波特率发生器,EIA与TTL电平转换器以及地址译码电路组成.其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示.

这里写图片描述

标准定义

传输率,电特性,信号名称和接口标准是定义串口的几个基本要素。
  • 传输率,是指每秒传输多少位,传输率也常叫波特率.国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110,300,600,1200,4800,9600等。
  • RS-232-C标准,RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义.RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将-5V~-15V规定为”1”,+5V~+15V规定为”0”。

串行通信协议

起止式异步协议
这里写图片描述

面向字符的同步协议

这种协议可参考IBM公司的二进制同步通信协议(BSC)。在此不再赘述。

面向比特的同步协议

可参考IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织ISO(International Standard Organization)的高级数据链路控制规程HDLC(High Level Data link Control),美国国家标准协会(Americal National Standard Institute)的先进数据通信规程ADCCP(Advanced Data Communication Control Procedure)。其协议帧格式通常如下:

这里写图片描述

Linux上的串口操作

如何进行终端设置

串口通信在Linux上被封装成了终端的概念,因此,对于串口的操作和利用串口进行数据传输其实都是对终端进行操作,终端配置的方法很简单,利用如下两个接口就可对终端进行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值