飛思卡爾XS128和G128兩種單片機(jī)的主要區(qū)別
一 端口
XS128有A, B, E, K, T, S, M, P, H, J, 和 AD口。 G128有A, B, C, D, E, T, S, M, P, J 和 AD口。 對(duì)于引腳數(shù)較少的封裝會(huì)缺少某些端口。 當(dāng)端口用作普通IO口時(shí)的相關(guān)寄存器命名規(guī)律相同,一般可以直接移植。 一些引腳的外部中斷功能的寄存器配置也一樣。但中斷號(hào)不同。 一些引腳的個(gè)別功能可能會(huì)不同,但一般很少用。 當(dāng)端口用作AD,PWM,SCI,SPI,CAN等功能時(shí)XS128和G128的引腳用法類(lèi)似。
二 中斷
在CodeWarrior里使用中斷向量號(hào),可用如下方法查看到。 點(diǎn)File,選Find and Open File,輸入mc9s12g128.h,點(diǎn)OK,打開(kāi)一個(gè).h文件。往下翻就是中斷向量表了。這個(gè)XS128和G128可能是不同的,替換一下自己程序中的向量號(hào)就行了。不要亂改這個(gè).h文件。
三 時(shí)鐘配置
這個(gè)很重要,雖然兩款單片機(jī)的相關(guān)寄存器名稱(chēng)不同。但計(jì)算公式是相同的,見(jiàn)程序注釋?zhuān)?設(shè)fosc=16MHz,例如:

2XS128官方規(guī)定的上限頻率是40M,G128的是25M。把XS128超頻到64M問(wèn)題不大,但把G128超頻到64M使用可能會(huì)影響系統(tǒng)穩(wěn)定甚至影響使用壽命。 當(dāng)G128超到64M時(shí),可能產(chǎn)生開(kāi)機(jī)后無(wú)法成功運(yùn)行PLL而導(dǎo)致單片機(jī)不能工作的情況。強(qiáng)烈建議不要超頻過(guò)多。 文章的最后附上與時(shí)鐘配置相關(guān)的主要寄存器的中文翻譯。
四 模數(shù)轉(zhuǎn)換器
只需注意XS128有8位,10位,12位三種模式,G128只有8位和10位兩種模式。這個(gè)在ATDCTL1寄存器中設(shè)置。 其它設(shè)置基本相同,直接移植問(wèn)題不大。寄存器名可能有細(xì)微差別,例如XS128中是ATD0DR0,而G128是ATDDR0。
五 定時(shí)
XS128中的PIT,G128沒(méi)有。G128中有API,用Timer也行。 六 PWM,SCI,SPI,CAN等 基本相同,直接移植問(wèn)題不大。
七 Timer模塊 基本相同。
?
電子發(fā)燒友App






評(píng)論