在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車再自己回到賽道,然後最終一起回到起跑...