sja1000 中断_SJA1000程序

  • Post author:
  • Post category:其他


给你提供一些思路

1、sja1000初始化

2、发送子程序

3、中断方式接收

下面是一些程序段

你参考下(已用于产品)

/**********SJA1000初始化***********//

void Init_SJA1000(void)

{

uchar state;

uchar ACRR[4]={0XAA,0XFF,0X22,0X11};// 接收代码寄存器

uchar AMRR[4]={0xff,0xff,0xff,0xff};// 接收屏蔽寄存器

//uchar AMRR[4]={0x00,0x00,0xff,0xff};// 接收屏蔽寄存器

do// 使用do–while语句确保进入复位模式

{

MODR = 0x09; // 设置MOD.0=1–进入复位模式,以便设置相应的寄存器

state = MODR;

}

while( !(state & 0x01) );

// 对SJA1000部分寄存器进行初始化设置

CDR = 0x88; // CDR为时钟分频器,CDR.3=1–时钟关闭, CDR.7=0—basic CAN, CDR.7=1—Peli CAN

BTR0 = 0x04;//0x31; // 总线定时寄存器0 ;总线波特率设定

BTR1 = 0x1c;//0x1c; // 总线定时寄存器1 ;总线波特率设定

IER = 0x01; // IER.0=1–接收中断使能; IER.1=0–关闭发送中断使能

OCR &



版权声明:本文为weixin_30840919原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。