波特率是什么,如何设置波特率
一般用串口打印乱码大多是因为串口波特率不对。那么咱们应该怎么丈量实践的波特率呢?在此之前,让咱们回忆一下波特率的概念。
什么是波特率和比特率?
比特率的英文是,它表明每秒传输的二进制位数,单位为比特/秒(bit/s)。
波特率的英文是,它表明每秒传输的码元符号的个数,是衡量数据传输速率的目标。
码元是通讯信号调制的概念。具有相同时刻距离的符号一般用于表明通讯中的二进制数。这种的信号称为码元。
在一般通讯传输中,0V代表数字0,5V代表数字1,所以一个码元能够代表0和1两种状况,所以一个码元等于一个二进制位,波特率与比特率共同。
初始化完成后,只发送一个0XAA,逻辑分析仪捕获的数据是:
可见,闲暇状况是高电平。在前面的示例中,咱们在循环中发送了数据0XAA,因而没有闲暇状况。
在这个试验中,咱们须要知道两点是:
串口发送的数据首先是低位的。咱们的单片机发送0XAA(),逻辑分析仪收集的有用数据为。
单片机的串口运用TTL电平,这是一个正的逻辑电平信号。逻辑分析仪收集的数据0对应实践电压0~0.5V,数据1对应实践电压2.4v~5V。

RS-232电平规范常与TTL电平规范相比较。例如,
TTL电平规范常用于一般电子电路中。在抱负状况下,5V表明二进制逻辑1,0V表明逻辑0。为了进步串口通讯的远距离传输和抗干扰才能,RS-232电平规范用-15V表明逻辑1,+15V表明逻辑0。
在旧的台式估算机中,一般有一个RS-232规范的COM端口(也称 DB9 接口):
在这个示例程序中,咱们将串口波特率设置为。在串口通讯中,符号只由一个二进制数表明(即只要0 和 1两种状况),因而波特率和比特率是持平的。
比特率代表每秒传输的二进制位数,所以咱们知道传输一比特数据的时刻,咱们能推导出波特率吗?从逻辑分析仪上咱们能够知道,发送一位数据的时刻如下:
发送一位数据的时刻约为8.,因而能够估算出一秒钟发送多少位数据:
估算出的波特率为,十分挨近。最终,肯定是有必定的过错。这个过错的原因包含逻辑分析仪的质量和咱们的丈量环境。但这个差错也在答应范围内。您能够看到串口帮手接收到的数据是否正确: