新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > avr can芯片使用

        avr can芯片使用

        作者: 時間:2016-11-29 來源:網絡 收藏
        #include
        struct MOb{unsigned long id;unsigned char data [8];};void can_init (void);void can_tx (struct MOb msg);void can_rx (struct MOb msg);void can_init (void){unsigned char i,j;//reset CAN interfaceCANGCON |= (1< baudrate// bit timing -> datasheet 264 (check table)// 250Kbps 16MHz cpu-clkCANBT1 = 0x0E;//16M/8=2MCANBT2 = 0x04;//3QTCANBT3 = 0x13;//2+2=4// clear CAN interrupt registersCANGIE = 0; // none interruptsCANIE1 = 0; // none interrupts on MObsCANIE2 = 0;CANSIT1 = 0;CANSIT2 = 0;//start CAN interfaceCANGCON = (1<<1);//wait until module readywhile (!(CANGSTA & (1<>8);CANIDT2 = (unsigned char) (msg.id>>16);CANIDT1 = (unsigned char) (msg.id>>24);//put data in mailboxfor (i=0; i<8; i++)CANMSG = msg.data [i];//enable transmissionCANCDMOB |= (1<> 5);CANIDT2 = (unsigned char)(msg.id >> 13);CANIDT1 = (unsigned char)(msg.id >> 21);// set mask in order to receive only the message with the IDCANIDM4 = 248;CANIDM3 = 255;CANIDM2 = 255;CANIDM1 = 255;// enable extended IDCANIDM4 |= (1<>= 3;}


        關鍵詞: avrcan芯

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 青海省| 雷山县| 潼关县| 台东市| 和顺县| 渭源县| 阳朔县| 瑞安市| 专栏| 赣榆县| 垫江县| 独山县| 志丹县| 荃湾区| 安新县| 磐安县| 井冈山市| 阳西县| 宜阳县| 浦东新区| 松溪县| 榆社县| 玉树县| 巨鹿县| 赫章县| 石渠县| 内乡县| 社会| 武隆县| 景东| 临桂县| 宝鸡市| 巴林右旗| 高雄市| 花垣县| 江口县| 昌都县| 青龙| 伽师县| 杭锦后旗| 额济纳旗|