UARTn除数锁存是波特率发生器的一部分,它保存了用于产生波特率时钟的APB时钟(PCLK)分频值,波特率时钟必须是目标波特率的16倍。UnDLL和UnDLM寄存器一起构成一个16位除数。其中,UnDLL包含的是除数的低8位,UnDLM包含的是除数的高8位。0x0000被看作是0x0001,因为除数是不允许为0的。在访问UARTn除数锁存寄存器时,除数锁存访问位(DLAB)必须为1。
UARTn小数分频器寄存器(UnFDR)控制产生波特率的时钟预分频器,并且用户可以通过自己的判断对它进行读写操作。
在实际使用中,UARTn波特率公式可采用下列式子表示,在这个式 子中,确定了无小数波特率发生器时产生的那部分UART波特率,以及增加的修正因子: