我在官方庫(kù)里面發(fā)現(xiàn)波特率計(jì)算公式有一些出入,特此請(qǐng)教。
void?UART0_BaudRateCfg(uint32_t?baudrate) { ????uint32_t?x; ????x?=?10?*?GetSysClock()?/?8?/?baudrate; ????x?=?(x?+?5)?/?10; ????R16_UART0_DL?=?(uint16_t)x; }
疑問(wèn)的點(diǎn)是為什么要先乘10,然后再加5除以10,這是在規(guī)避什么錯(cuò)誤嗎?因?yàn)榭磀atasheet的公式是?波特率公式 =Fsys * 2 / R8_UARTx_DIV / 16 / R16_UARTx_DL,沒(méi)有乘10除以10的步驟。
熱門產(chǎn)品 :
CH339: 7端口多功能USB HUB控制器芯片