CH579 和串口 1600000 kbps

我正在處理 CH579 的 EVT\EXAM\UART1 示例。

當(dāng)我將比特率設(shè)置為 115200、234000、460800、921600、1000000、1024000 kbps 時,一切正常,消息以此速率發(fā)送。

但是當(dāng)我將比特率設(shè)置為 1500000、1600000 kbps 時,我無法從 UART 讀取消息

除了比特率之外,我還應(yīng)該在示例中更改什麼,以便我可以讓 UART 以 1600000 kbps 的速度工作

uart.JPG

波特率是由主頻分頻得來的,分頻基本上沒有1.5~1.6MHz的范圍啊。

看了一下手冊,40MHz主頻時最高波特率是5M,一次分頻就是2.5M,二次分頻就是1.25M,與你需要的1.5~1.6M相差24%。對于串口通訊波特率誤差超過5%都不能用了跟別提現(xiàn)在都24%了。所以你這不能通訊是很正常的。


PS:

仔細(xì)看了一下波特率計算,好像這個型號的有些特殊技能。

波特率公式 = Fsys * 2 / R8_UARTx_DIV / 16 / R16_UARTx_DL。

官方這個公式?jīng)]錯的話,如果主頻是40MHz的話,把DIV設(shè)為1、DL設(shè)為3,感覺就是1.666Mbps了?

40000000*2/1/16/3≈1'666'667 bps。



Zaxife,感謝您的詳細(xì)回答。

演示板有一個 32 MHz 晶振。 根據(jù)CH579 datasheet中的公式,我需要指定R16_UARTx_DL=5, R8_UARTx_DIV=0,5

32000000*2/0.5/16/5=1600000bps

但它不起作用,我錯過了一些東西。 也許 R8_UARTx_DIV 只能是一個整數(shù),而使用整數(shù)是不可能設(shè)置所需的比特率的。

我很新,對不起我的中文(我正在通過谷歌翻譯寫作)


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频