【串口通信】之基础知识

 串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。

要使你的电脑具有串口通信的功能,你的电脑必须有串口。大多数电脑上都至少有一个串口,它们通常被称作COM1口和COM2口。我使用的是usb转串口之类的工具进行通讯,有了串口,就有设备驱动程序。只要你仔细思考一下,串口通信所做的就是发送和接受数据,换句话说,你所作的一切就是在对串口进行IO的输入/输出,同时也在对磁盘文件进行IO操作。所以,当我们看见那些用于读写文件的API函数也被用于串口编程的时候,也就没什么人惊讶的了。当你向串口发送数据时,数据以字节为单位发送;当它离开串口时,数据以位为单位发送。同样,当数据到达串口时,数据以位为单位发送,当从串口获取数据后,数据的格式又是字节。

一旦我们接受到了有数据抵达的消息后我们就得读取数据。在这里值得注意的是,当数据抵达串口时,它被拷贝到系统缓存。只有当你用系统API函数,如ReadFile读取它之后,该系统缓存才会被清空。象其它缓存一样,系统缓存的空间也是有限的。所以,如果你不尽快从系统缓存中将数据读出,只要有其它数据达到,系统缓存很快就会被塞满。

对串口的整个操作过程一般分为四个步骤:1. 打开串口;2. 设置串口参数;3.读、写数据;4. 关闭串口。所以,我们的开发也将围绕这几个步骤进行。 

波特率

  1. 波特率(bandrate,指的是串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制。譬如每秒钟可以传输9600个二进制位,波特率就是9600.
  2. 串口通信的波特率不能随意设定,而应该在一些值中选择,一般常见的波特率是9600115200   (低端单片机如51常用9600,高端单片机和嵌入式SoC一般用115200),为什么波特率不可以随便指定:
    1. 通信双方必须事先设定相同的波特率这样才能成功通信,如果发送方和接受方按照不同的波特率通信则根本收不到,因此比特率最好是大家熟知的而不是随意指定的
    2. 常用的波特率经过长久发展,就形成了共识,常用9600 115200.
持续跟新.......

猜你喜欢

转载自blog.csdn.net/tiankongdefengling/article/details/79999750