芯片手冊(cè)P43有說明:
......
(1)、兼容 16C550 異步串口并且有所增強(qiáng);
(2)、支持 5、6、7 或者 8 個(gè)數(shù)據(jù)位以及 1 或者 2 個(gè)停止位;
(3)、支持奇、偶、無校驗(yàn)、空白 0、標(biāo)志 1 等校驗(yàn)方式;
(4)、可編程通訊波特率,支持 115200bps 以及最高達(dá) 3Mbps 的通訊波特率;
UART1可以支持高達(dá)3Mbps的波特率,基于官方的CH559EVT\EXAM\UART1 示例,將
主頻改為56M,波特率改為?921600 回環(huán)測(cè)試發(fā)現(xiàn)均是亂碼,改成460800,可以正常工作,
使用官方的公式
Fsys * 2 / SER1_DIV / 16 / 波特率
當(dāng)波特率為 921600時(shí),SER1_DIV設(shè)置為1,
那么需要填充的值為 56000000*2/1/16/921600 ≈ 7.6
那么經(jīng)四舍五入后,誤差為 (8-7.6)/7.6 * 100%= 5.2%,也是不滿足串口通信的最低波特率誤差的,
請(qǐng)問如何配置才能做到? 3Mbps 的通訊波特率?謝謝!