飛思卡爾 UART 最高波特率的問題

2021-06-29 03:20:40 字數 1294 閱讀 5698

在st的手冊中可以看到有uart最高波特率的說明,比如對於stm32f051,在其官方手冊中可以看到以下說明:

其最高波特率為6 mbit/s.

作為搞飛思卡爾的我也研究了一下它是如何計算出來的:

最高的波特率是(48m*2)/16=6m

再來看看飛思卡爾uart最高的波特率,可惜的是在飛思卡爾手冊中並沒有直接說明最高可以達到多少,需要自己去計算。

先看ke系列:

對於ke02 20m 最高是:*1.25*mbps(匯流排時鐘最高為20m)

ke02 40m 最高也是1.25mbps(匯流排時鐘最高也是20m),

ke04和ke06,最高波特率是*1.5*mbps(匯流排時鐘最高為24m)

再看kl系列中比如kl03,只有乙個lpuart

所以最高為48/4=12m bps,

再看kl02,也是只有乙個uart,它的clock最高也是48m,所以uart 的波特率最高也是12 mbps.

再看一下kl26,它有3個uart,乙個是uart0,另外兩個是uart1和uart2,uart0最高48m,所以波特率最高12mbps,uart1和uart2的時鐘為匯流排時鐘,其計算公式為:

所以最高波特率為24m/(16)=1.5m

再看一下k系列中k60 100m,總共有6個,uart0和uart1的clock來自core clock,uart2到uart5的clock來自bus clock,

計算公式都為

對於uart0和uart1,其最高波特率為:6.25m bps

對於uart2到uart5,其最高波特率為:3.125m bps

總結:

計算uart的最高波特率首先要知道uart 的clock最高為多少,飛思卡爾不同的uart其時鐘**不同,另外要知道取樣率的範圍,對於時鐘為bus clock的uart其取樣率為16,lpuart範圍是4到32.

飛思卡爾ATD模組

s12xs系列mcu的atd模組有27個暫存器,六個轉換控制暫存器,兩個轉換狀態暫存器,乙個比較使能暫存器,乙個比較方式暫存器和16個轉換結果暫存器,附上一段例程 void atd init void 一般常用到的也就是這段例程中用到的幾個暫存器。include include derivative...

飛思卡爾中斷設定

對於飛思卡爾codewarrior的中斷使用,一般有3種方法 1.把 pragma trap proc放在中斷程式前面,並把中斷向量表放到 prm。例如 pragma trap proc void pit1 void 例如 interrupt void intpit1 void 向量表的首位址放入 ...

NXP飛思卡爾回顧

二 難點與處理方法 三 總結 我們需要完成一輛搭載攝像頭智慧型車,並且成跑在規定賽道內,成功識別並且通行各種賽道元素,然後同時完成一圈賽道耗時越少越好,我們做的是提高的雙車會車,即兩場車背道而行,先達到斷道的a車停在場外,等待另外一輛b車到來,等到b車通過後,a車再自己回到賽道,然後最終一起回到起跑...