關於PL2303芯片


    這幾天調試STM32,開發板上STM32的串口是通過PL2303轉USB連接電腦的。STM32F103xB的datasheet上說上面的3個串口,其中一個最高可達4.5M,其他可達到2.25M。One of the USART interfaces is able to communicate at speeds of up to 4.5 Mbit/s. The other available interfaces communicate at up to 2.25 Mbit/s.但究竟是哪個能達到4.5M呢,沒說;難道隨便一個都可以,但只能一個達到4.5M?(2012年9月16日16:56:58,找到了,只能是USART1,因為只有USART1是掛在APB2上面的,而APB2的最高頻率可到72Mhz,所以72/16 = 4.5Mbps. 當然,如果用每個波周期8個采樣的話,甚至可以到9Mbps)

    這個先不管,通過PL2303與電腦的通信的波特率限制在於PL2303芯片,因為根據其手冊說明,最高可達1.2M,遠小於2.25Mbit/s所以就不糾結哪個4.5了。但實際是否真的能達到1.2Mbit/s呢?測試一下就知道了。

    步驟:

    1、設置的時候先保證波特率的計算公式得出的USARTDIV不要是小於1的數;由於我使用USART1,所以設置APB2的時鍾為36M以上,這樣,即使設置到1.2M的波特率,USARTDIV也不會是小於1的數了。

    2、鑒於市面上的串口軟件很少提供1.2M的波特率,所以得自己寫一個了。如下

    3、開始我測試到460800都是可以的,但是上到576000就不行了,以為到極限了。但是后來查看PL2303的手冊,上面有一個表:

可以看到,上面並沒有576000這個波特率,我想也許得是表上面的波特率,PL2303才支持,也就是說,是可以達到更高的波特率的,就試了一下614400,果然可以,最后試了1228800也可以,這個速度可以滿足許多應用的要求了,nice!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM