1. 首页
  2. 编程语言
  3. 硬件开发
  4. sja1000源代码

sja1000源代码

上传者: 2018-12-26 08:28:08上传 DOC文件 80KB 热度 55次
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(voi d) { SJA_CS = 0; EX0 = 1; IT0 = 0; EA = 1; } void main() //主程序 { MCU_init(); SJA1000_init(); while(send_BUF_init()==0); send_now(); //待发送信息之后,进入死循环,接下来就是等待中断了 while(1); } d) { SJA_CS = 0; EX0 = 1; IT0 = 0; EA = 1; } void main() //主程序 { MCU_init(); SJA1000_init(); while(send_BUF_init()==0); send_now(); //待发送信息之后,进入死循环,接下来就是等待中断了 while(1); }
下载地址
用户评论