AT90CAN单片机CAN通信模块介绍及软件编程
以下程序已在实验中调试通过,通信效果良好,可以直接应用。
#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};//数组用来存放接收到的数据
void main() {//主程序
CLI();//关总中断
CANPAGE = 0x50;//设置MOB5
CANSTMOB=0x00;//清状态寄存器
CANIDT1 = 0x02;//CANIDT1~CANIDT4
CANIDT2 = 0x01;//设置ID过滤寄存器
CANIDT3 = 0x00;
CANIDT4 = 0x00;
CANIDM1 = 0xff;//CANIDM1~CANIDM4
CANIDM2 = 0xff;//设置验收寄存器
CANIDM3 = 0x00;
CANIDM4 = 0x00;
CANCDMOB = 0x98;//使能接收
SEI();//打开总中断
while(1) {
CANPAGE=0x10;//设置MOB4
CANSTMOB=0x00;
CANIDT1 = 0x01;//CANIDT1~CANIDT4
CANIDT2 = 0x01;//设置发送帧ID值寄存器
CANIDT3 = 0x00;
CANIDT4 = 0x00;
评论