AT90CAN單片機CAN通信模塊介紹及軟件編程
以下程序已在實驗中調(diào)試通過,通信效果良好,可以直接應(yīng)用。
#include ioCAN128v.h
#include stdio.h>
#include macros.h>
#define fosc 11059200//晶振11.0592 MHz
unsigned char PCSJ[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//數(shù)組用來存放接收到的數(shù)據(jù)
void main() {//主程序
CLI();//關(guān)總中斷
CANPAGE = 0x50;//設(shè)置MOB5
CANSTMOB=0x00;//清狀態(tài)寄存器
CANIDT1 = 0x02;//CANIDT1~CANIDT4
CANIDT2 = 0x01;//設(shè)置ID過濾寄存器
CANIDT3 = 0x00;
CANIDT4 = 0x00;
CANIDM1 = 0xff;//CANIDM1~CANIDM4
CANIDM2 = 0xff;//設(shè)置驗收寄存器
CANIDM3 = 0x00;
CANIDM4 = 0x00;
CANCDMOB = 0x98;//使能接收
SEI();//打開總中斷
while(1) {
CANPAGE=0x10;//設(shè)置MOB4
CANSTMOB=0x00;
CANIDT1 = 0x01;//CANIDT1~CANIDT4
CANIDT2 = 0x01;//設(shè)置發(fā)送幀ID值寄存器
CANIDT3 = 0x00;
CANIDT4 = 0x00;
評論