sja1000源代码

时间:2017-01-16 11:47:20
【文件属性】:
文件名称:sja1000源代码
文件大小:80KB
文件格式:DOC
更新时间:2017-01-16 11:47:20
sja1000代码 void SJA_INTR(void) interrupt 0 //CanBus接口芯片产生中断(INTR0) { //这里仅简单区分了接收中断和发送中断,对于其余中断,均简单重启SJA1000,另外,IR的高三位保留位读出值总是1. unsigned char sta; EA = 0; //关闭总中断 EX0 = 0; //关闭外部中断 sta = CANREG_read(0x03); //读中断寄存器IR if(sta == 0xe2) //发送中断处理 { LED1=0; //如果有信息发出,则指示灯亮 } else if(sta == 0xe1) //接收中断,接收数据 { LED2=0; //如果接收到中断,则LED2指示灯亮 receive_now(); } else MCU_init(); EX0 = 1; EA = 1; } void MCU_init(void) { SJA_CS = 0; EX0 = 1; IT0 = 0; EA = 1; } void main() //主程序 { MCU_init(); SJA1000_init(); while(send_BUF_init()==0); send_now(); //待发送信息之后,进入死循环,接下来就是等待中断了 while(1); }

网友评论