eCAN總線模塊的初始化步驟
(1)使能CAN模塊的時(shí)鐘。
(2)設(shè)置CANTX和CANRX作為CAN通信引腳:
◇寫CANTIOC.3:0=0x08;
◇寫CANRIOC.3:0=Ox08。
(3)復(fù)位后,OCR(CANMC.12)位和CCE(CANES.4)位置1,允許用戶配置位時(shí)間配置寄存器(CANBTC)。如果CCE位置1(CANES.4=1),進(jìn)行下一步;否則將CCR位置1(CAN-MC,12=1),然后等待直到CCE置1(CANES.4=1)。
(4)使用適當(dāng)?shù)闹祵?duì)CANBTC進(jìn)行配置,確認(rèn)TSEG1和TSEG2不等于0。如果兩個(gè)值等于0,則CAN模塊不能退出初始化模式。
(5)對(duì)于標(biāo)準(zhǔn)CAN模式(SCC),現(xiàn)在對(duì)接收屏蔽寄存器編程。如寫LAM(3)=0x3C0000。
(6)對(duì)主控制寄存器(CANMC)編程,具體如下:
◇清除OCR(CANMC.12)=0
◇清除PDR(CANMC.11)=0
◇清除DBO(CANMC.10)=0
◇清除WUBA(CANMC.9)=0
◇清除CDR(CANMC.8)=0
◇清除ABO(CANMC.7)=0
◇清除STM(CANMC.6)=0
◇清除SRES(CANMC.5)=0
◇清除MBNR(CANMC.4~0)=0
(7)將MSGCTRLn寄存器的所有位清零進(jìn)行初始化。
(8)檢查CCE是否被清零(CANES.4=0),如果被清零則表明CAN模塊已經(jīng)配置完成。
評(píng)論