如何使用DCB结构设置波特率28800

时间:2010-01-13 16:50:08

标签: c++ baud-rate

以前我在与9600波特设备通信时使用的是CBR_9600。但似乎没有CBR_28800设置。是否可以使用28800的DCB结构设置波特率?

3 个答案:

答案 0 :(得分:3)

根据MSDN,波特率可以是定义的常数之一(例如CBR_9600,CBR_38400等)或任何整数值。常量只是定义为值,所以它根本不是枚举。从链接:

  

通信设备运行的波特率。该成员可以是实际的波特率值,也可以是以下索引之一。

答案 1 :(得分:2)

是。 CBR_9600等于9600。 它应该可以插入28800,它将工作。

答案 2 :(得分:1)

请注意,如果您使用的费率不是“标准”费率,则实际费率可能与目标费率不同。在硬件中,“波特率除数”寄存器将主时钟分频以实现所需的波特率,因此可以获得有限数量的离散值。然而,低速率的分辨率很高;低除数值时增量会变大。

如果与使用不同UART硬件和时钟的设备进行通信,这可能是一个问题,因为在极端情况下产生的速率差异可能超出规定的容差。