AT90CAN128的CAN編程1.doc_第1頁
AT90CAN128的CAN編程1.doc_第2頁
AT90CAN128的CAN編程1.doc_第3頁
AT90CAN128的CAN編程1.doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

這幾天一直在忙活 AT90CAN128的CAN編程,幾天終于有眉目了。其實他的can用起來不復(fù)雜,只是一開始沒有仔細看手冊,走了不少彎路。編譯器ICCAVR4M晶振50K波特率void can_init(void) / CAN Controller initialization / CAN Controller initialization / CAN System Clock: 400.0 kHz CANBT1=0x12; / Propagation Time Segement: 7.500 us / Re-Sync Jump Width: 2.500 us CANBT2=0x04; / Sample Point(s): 3 / Phase Segment 1: 5.000 us / Phase Segment 2: 5.000 us CANBT3=0x13; / CAN Timer Clock Period: 2.000 us CANTCON=0x00; /-can_MOB INITIAL- /MOB0=RX CANPAGE = 0x00; /MOB0,自動增量,初值為0 CANSTMOB = 0; CANCDMOB = 0x80; / RX /can2a,DLC=8 CANIDT4 = 0x00; / CANIDT3 = 0x00; / CANIDT2 = 0x00; / CANIDT1 = 0x00; / CANIDM4 = 0x00; / 11111 100 CANIDM3 = 0x00; / 11111 111 CANIDM2 = 0x00; / 11111 111 CANIDM1 = 0x00; /CANIDM4-1數(shù)據(jù)校驗屏蔽寄存器 00000 111 /MOB1=TX CANPAGE = 0x10; CANSTMOB = (16); /txok CANCDMOB = 0x08; CANIDT4 = 0x00; / CANIDT3 = 0x00; / CANIDT2 = 0xe0; / CANIDT1 = 0x00; / CANIDM4 = 0x00; / 11111 100 CANIDM3 = 0x00; / 11111 111 CANIDM2 = 0x00; / 11111 111 CANIDM1 = 0x00; /CANIDM4-1數(shù)據(jù)校驗屏蔽寄存器 00000 111 / CAN Interrupts: / Timer Overrun: Off / General Errors: Off / Frame Buffer: Off / MOb Errors: Off / Transmit: Off / Receive: Off / Bus Off: Off / All, except Timer Overrun: On CANGIE=0xf0; / MOb0: Enabled, MOb1: Enabled, MOb2: Disabled, MOb3: Disabled, MOb4: Disabled, MOb5: Disabled, MOb6: Disabled, MOb7: Disabled CANEN2=0xff; / MOb8: Disabled, MOb9: Disabled, MOb10: Disabled, MOb11: Disabled, MOb12: Disabled, MOb13: Disabled, MOb14: Disabled CANEN1=0xff; / MOb0.7 Interrupts: MOb0: On, MOb1: On, MOb2: Off, MOb3: Off, MOb4: Off, MOb5: Off, MOb6: Off, MOb7: Off CANIE2=0x03; / MOb8.14 Interrupts: MOb8: Off, MOb9: Off, MOb10: Off, MOb11: Off, MOb12: Off, MOb13: Off, MOb14: Off CANIE1=0x00; / Highest Interrupt Priority: MOb0 CANHPMOB=0x00; CANGCON |= 0x02; /CAN控制器啟動/ CAN interrupt service routine#pragma interrupt_handler can_isr:19void can_isr(void) / Place your code here unsigned char i, flag; CANGIE &= (1ENRX); /關(guān)接收中斷* LED_RUN(ON); flag = CANSIT2; /- if (flag & (10) CANPAGE = 04; for(i = 0; i 8; i+) data_bufi=CANMSG; /取得8個字節(jié)的數(shù)據(jù) CANPAGE = 04; CANSTMOB &= (1RXOK); /清中斷標志* CANCDMOB = 0x80; /接收使能 if (flag & (11) CANPAGE = 14; CANSTMOB &= (1TXOK); /清中斷標志* /- LED_RUN(OFF); CANGIE |=(1ENRX);void can_send (unsigned char n) unsigned char i; CANGIE &= (1ENRX); CANPAGE = (n4); /MOB_n, auto increment, inde

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論