c++ win32 获取串口高低电平_串口和USB的区别,几种常见的串口协议

1、串口的定义;

        1.1 定义:COM口( cluster communication port )即串行通讯端口,简称串口。微机上的串口通常是9针,也有25针的接口,最大速率115200bps。

b34f30261c281893198eab763744fa93.png

       1.2 一般应用场景:

            ① 通常用于连接鼠标(串口)及通讯设备(如连接外置式调制解调器进行数据通讯或一些工厂的数控机接口)等。

            ② 一般主板外部只有一个串口,机箱后面和并口一起的那个九孔输出端(梯形),就是COM1口,COM2口一般要从主板上插针引出。并口是最长的那个梯形口;

            ③ 目前主流的主板一般都只带1个串口,甚至不带,慢慢会被USB 取代。           

        1.3 传输速度:

            bps就是比特每秒,115200bps就是每秒传输115200比特(115200bit),1kb=1024bit。注意,大写的B表示字节(Byte),1Byte=8bit。或者说1B=8b.所以115200bps=每秒112.5kb=每秒14.0625kB。

            PS:串口波特率,115200bps是每秒传输115200比特数据,在串口传输中通常的设置必须要有 起始位最少1bit,停止位最少1bit,校验位最少0bit,所以串口传输1字节数据,至少耗费10bit,115200波特率能传输的最高比特率为115200bit,每秒钟实际可传输的数据理论值为11520字节,约11.25K字节,实际值通常达不到这个数值。


2、USB的定义;

        2.1 定义:USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。

1d32b3c342315c876a4ccfe50d7726b5.png

        2.2 特点:

            ① 可以热插拔。就是用户在使用外接设备时,不需要关机再开机等动作,而是在电脑工作时,直接将USB插上使用。

            ② 携带方便。USB设备大多以“小、轻、薄”见长,对用户来说,随身携带大量数据时,很方便。当然USB硬盘是首要之选了。

            ③ 标准统一。大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了USB硬盘、USB鼠标、USB打印机等等。

            ④ 可以连接多个设备。USB在个人电脑上往往具有多个接口,可以同时连接几个设备,如果接上一个有四个端口的USB HUB时,就可以再连上;四个USB设备,以此类推,尽可以连下去,将你家的设备都同时连在一台个人电脑上而不会有任何问题(注:最高可连接至127个设备)。

        2.3 传送速度:

            ① USB 1.0是在1996年出现的,速度只有1.5Mb/s(位每秒);1998年升级为USB 1.1,速度也大大提升到12Mb/s ;

            ② USB2.0规范是由USB1.1规范演变而来的。它的传输速率达到了480Mbps,折算为MB为60MB/s,足以满足大多数外设的速率要求。

            ③ USB 3.0的理论速度为5.0Gb/s,其实只能达到理论值的5成,那也是接近于USB 2.0的10倍了。

            ④ USB 3.1,传输速度为10Gbit/s,三段式电压5V/12V/20V,最大供电100W ,新型Type C插型不再分正反。


3、USB和串口的区别;

e3f36bb97d3cd3de2f9a8fb7a50210f3.png

PS: 为什么有了USB还要用串口?

        ① 串口成本低,而且更主要的是,COM口对开发者和使用者而言,不需要去专门开发和安装驱动,这样又省了软件成本。

        ② COM虽然速度慢,使用繁杂,但它的抗干扰能力是远远超过USB的,在同等高频干扰情况下,使用USB通讯的设备经常会死机卡住,但COM口就不会。现在很多工业上还是会用COM口,就是这个原因。

        ③ 在传输速度要求不高的情况下,很多设备还是会保留COM口,只是COM口用起来真的没USB的方便


作者:一杯开水
链接:https://www.jianshu.com/p/760b3c7701b6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

·············································································································································=============================================几个串口协议学习整理

一、UART

UART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。

嵌入式设备中常常使用到的是TTL、TTL转RS232的这种方式。常用的就三根引线:发送线TX、接收线RX、电平参考地线GND。

 1.1    电路示意图

 9dee3aa6aab8294a3494b296b6e386a9.png

1.2    通信协议

将传输数据的每个字符一位接一位地传输。

 1d24cd86d6a1cc56e4cc03fdb79c50e2.png

起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。

数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。

奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。

停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。

空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

波特率:数据传输的速率。有以下几个档位:300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200.当然也可以自定义。在数据传输和接收双方,需要预先统一波特率,以便正确的传输数据。

二、IIC 总线

I²C (Inter-Integrated Circuit)。其拥有一根数据线SDA和一根时钟线SCL。其总线通过上拉电阻与电源相连接。每个接到I2C总线上的器件都有唯一的地址。其中,主动发起操作的一方为主机,另外一方为从机。

1.1   电路示意图

 3e004c4cd8f4ad32dcbdedc214d402c1.png

1.2 数据传输

当没有数据传输的时候,两根总线都为高电平;当采集IIC上的数据时,其时钟线SCL必须是高电平且SDA的数据必须保持稳定不变---将SDA的电平与SCL的高电平进行“与”操作后,以便确定SDA上是1还是0;在SCL为低电平的时候,SDA上的数据可以进行跳变。

数据传输开始时,需要发送一个起始信号;数据传输结束后,需要发送一个终止信号;每8bit数据传输结束,都需要一个ACK。起止信号都有Master发出,而ACK则可能由Master或者SLAVE来发出。数据的传输采用大端传输。

开始信号:SCL为高电平,SDA的电平由高跳到低表示开始信号。

终止信号:SCL为高电平,SDA的电平由低跳到高表示终止信号。

   6947b58010008f9273bd4035ea7aac4f.png               

1.3 数据协议

  54105b3c09390cc57b5330d09cc78b4f.png      

1.4   I2C读写流程

 8a45b9c98b7ecf1adccb27b28fba8499.png

1b27311434e0a0075a6da86a462d5c40.png

e62e2734e61d3aa088935732ea926a3c.png

1286149ad8ade48e501da82860c74689.png

参考:

http://dpinglee.blog.163.com/blog/static/14409775320112239374615

https://en.wikipedia.org/wiki/I%C2%B2C

http://wenku.baidu.com/view/7c310976f46527d3240ce0e5

http://wenku.baidu.com/view/bdb46aa60029bd64783e2c6f

三、SPI总线

SPI(Serial Peripheral Interface)是一种串行串行同步通讯协议,由一个主设备和一个或多个从设备组成。其拥有四根(类)硬脚引线,分别为 SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(片选)。因为一个主设备可以挂多个从设备,则通过片选引脚对从设备进行选择。从设备的工作时钟则是来自于主设备的SCK线。

1.1    电路示意图

 ea7ac9f11e2a2fd437cfc17a01d7ccd4.png

1.2    数据的传输

SPI在数据传输的时候,需要确定两件事情:其一,数据是在时钟的上升沿采集还是下降沿采集;其二,时钟的初始(空闲)状态是为高电平还是低电平。而I2C的空闲状态,时钟线为高电平;数据采集的时候,时钟线也为高电平。但SPI给出了更自由的方式。

CPOL:时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平。

CPHA:时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样。

那么,SPI CPOL有两种可能,CPHA有两种可能,则SPI数据传输就有四种可能---按照标准的说法,SPI数据传输就有四种模式。

 2eeacfae1a3de3310c2a7913981e5025.png

568bfef4a848f1a838800c36a09ed754.png

33b77f19e565f98429a25eb6951b6c55.png

5c8243d18c2080ec28d82e094717781b.png

3a168c17f7965a60a5815e998f3f4c87.png 

1.3    SPI读写

SPI在硬件设计上采用的双数据线制,根据设计,在SPI通信过程中,主从设备之间会形成一个数据环形链路---也即是,主设备向从设备写一次数据,从设备就会回一次数据(至于该从设备回复的数据是否有效,则另当别论---如果有效,主设备就把它读入;如果无效,则丢弃即可)。

 34bbdd8ee95a6c30d4acd5bc8b956719.png

c4eedf272f204be12a1c2a1c206d0d2f.png

转载自:http://www.cnblogs.com/chineseboy/p/5226961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值