前几天接触了一个串口通信相关的东西,需要深入研究一下串口比较底层的东西,在研究串口相关知识不久,就困于波特率和比特率这两个概念,现将自己的理解进行分享。
波特率:指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数,也可以说是单位时间内传输的码元(脉冲)个数,单位为Baud(波特)。
比特率:指单位时间内传输或处理的比特数,单位为bit/s(位/秒)。
由上可知,波特率描述的是单位时间传输的码元数,为码元的传输速率;而比特率描述的单位时间内传输的比特数,为信息量的传输速率。而由于一个码元可以由一个或多个比特组成,所以波特率和比特率有着如下关系:
S=Blog2N
其中S为比特率,B为波特率,N为一个脉冲信号所有的有效状态。
而当其应用于串口通信时,由于串口是采用二进制传送的,即一个码元仅传送一位,所以此时波特率等于比特率。也就是说我们设置的串口波特率,比如设置9600Baud,数值上等于比特率,即也是每秒处理9600个比特,但两者含义和单位并不相同,所以并不能将波特率写为9600bit/s。