⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_selfdef.h

📁 51+SJA1000+PA82C250构成的CAN节点
💻 H
字号:
//对管脚分配进行了定义
//对子函数进行了声明

# define uchar unsigned char
# define uint  unsigned int

#define	N_can	13	//N_can代表一帧字节数


bit	TXD_flag = 0;	//若TXD_flag=1,要求发送处理
bit	RXD_flag = 0;   //RXD_flag=0说明无数据可以接收,RXD_flag=1说明有数据可以接收

unsigned    char    xdata   CAN_SJA_BaseAdr;    			//定义SJA1000的片选基址
unsigned    char    xdata   *SJA_CS_Point;

unsigned    char	xdata	CAN_SJA_BaseAdr	_at_ 0x7E00;    			//定义SJA1000的片选基址
unsigned   	char    xdata   *SJA_CS_Point ; 							//指针指向空

/*P1 口分配*/

/*P2 口分配*/
sbit    SJA_RST = P2^0;//SJA1000复位管脚

/*CAN总线SJA1000寄存器地址定义(用的是PeliCAN模式,扩展帧EFF模式)*/

uchar   xdata    MODR     _at_   0x7E00;		// 模式寄存器
uchar   xdata    CMR	  _at_   0x7E01;		// 命令寄存器
uchar   xdata    SR	      _at_   0x7E02;		// 状态寄存器
uchar   xdata    IR	      _at_   0x7E03;		// 中断寄存器
uchar   xdata    IER	  _at_   0x7E04;		// 中断使能寄存器
uchar   xdata    BTR0	  _at_   0x7E06;		// 总线定时寄存器0 ;总线波特率的选择
uchar   xdata    BTR1	  _at_   0x7E07;		// 总线定时寄存器1 ;总线波特率的选择
uchar   xdata    OCR	  _at_   0x7E08;		// 输出控制寄存器
uchar   xdata    ACR	  _at_   0x7E10;//16;
uchar   xdata    ACR1	  _at_   0x7E11;//17;
uchar   xdata    ACR2	  _at_   0x7E12;//18;
uchar   xdata    ACR3	  _at_   0x7E13;//19;		// 接收代码(0x16_0x19);接收过滤位的选择*******复位模式
uchar   xdata    AMR	  _at_   0x7E14;//20;
uchar   xdata    AMR1	  _at_   0x7E15;//21;
uchar   xdata    AMR2	  _at_   0x7E16;//22;
uchar   xdata    AMR3	  _at_   0x7E17;//23;		// 掩码(0x20_0x23); 接收过滤位的选择*******复位模式
uchar   xdata    CDR	  _at_   0x7E1F;//31;		// 时钟分频器
uchar   xdata    ALC	  _at_   0x7E0B;//11;		// 仲裁丢失捕捉寄存器
uchar   xdata    ECC	  _at_   0x7E0C;//12;		// 误码捕捉寄存器

uchar   xdata    TBSR0	  _at_   0x7E10;//16;
uchar   xdata    TBSR1	  _at_   0x7E11;//17;
uchar   xdata    TBSR2	  _at_   0x7E12;//18;
uchar   xdata    TBSR3	  _at_   0x7E13;//19;
uchar   xdata    TBSR4	  _at_   0x7E14;//20;
uchar   xdata    TBSR5	  _at_   0x7E15;//21;
uchar   xdata    TBSR6	  _at_   0x7E16;//22;
uchar   xdata    TBSR7	  _at_   0x7E17;//23;
uchar   xdata    TBSR8	  _at_   0x7E18;//24;
uchar   xdata    TBSR9	  _at_   0x7E19;//25;
uchar   xdata    TBSR10	  _at_   0x7E1A;//26;
uchar   xdata    TBSR11	  _at_   0x7E1B;//27;
uchar   xdata    TBSR12	  _at_   0x7E1C;//28;        // 发送缓冲器首地址(0x16_0x28)

uchar   xdata    RBSR0	  _at_   0x7E10;//16;
uchar   xdata    RBSR1	  _at_   0x7E11;//17;
uchar   xdata    RBSR2	  _at_   0x7E12;//18;
uchar   xdata    RBSR3	  _at_   0x7E13;//19;
uchar   xdata    RBSR4	  _at_   0x7E14;//20;
uchar   xdata    RBSR5	  _at_   0x7E15;//21;
uchar   xdata    RBSR6	  _at_   0x7E16;//22;
uchar   xdata    RBSR7	  _at_   0x7E17;//23;
uchar   xdata    RBSR8	  _at_   0x7E18;//24;
uchar   xdata    RBSR9	  _at_   0x7E19;//25;
uchar   xdata    RBSR10	  _at_   0x7E1A;//26;
uchar   xdata    RBSR11	  _at_   0x7E1B;//27;
uchar   xdata    RBSR12	  _at_   0x7E1C;//28;// 接收缓冲器首地址(0x16_0x28)

extern void CAN_init(void);
extern  void CAN_Tx_data(void);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -