📄 can.h
字号:
#ifndef CAN_H_
#define CAN_H_
#define CanBasicAdd 0xdf00 //SJA1000片选地址
#ifndef TYPE
#define TYPE
typedef unsigned char tByte;
#endif
#ifndef FUNCTION
#define FUNCTION
extern void SJAInit(tByte Reg_acr); //SJA1000初始化
extern tByte SJASendData(tByte *Tdata,tByte DatLen,tByte TarID,SaID,TxRx); //CAN发送数据
extern tByte SJARecvData(tByte *Rdata,tByte DatLen); //CAN接收数据
#endif
#define MODE (*(tByte volatile xdata *)(CanBasicAdd+0x00)) //模式寄存器
#define CMR (*(tByte volatile xdata *)(CanBasicAdd+0x01)) //命令寄存器
#define SR (*(tByte volatile xdata *)(CanBasicAdd+0x02)) //状态寄存器
#define IR (*(tByte volatile xdata *)(CanBasicAdd+0x03)) //中断寄存器
#define IER (*(tByte volatile xdata *)(CanBasicAdd+0x04)) //中断使能寄存器
#define BTR0 (*(tByte volatile xdata *)(CanBasicAdd+0x06)) //总线定时寄存器1
#define BTR1 (*(tByte volatile xdata *)(CanBasicAdd+0x07)) //总线定时寄存器2
#define OCR (*(tByte volatile xdata *)(CanBasicAdd+0x08)) //输出控制寄存器
#define ALC (*(tByte volatile xdata *)(CanBasicAdd+0x0B)) //仲裁丢失捕捉寄存器
#define ECC (*(tByte volatile xdata *)(CanBasicAdd+0x0C)) //错误代码捕捉寄存器
#define TXER (*(tByte volatile xdata *)(CanBasicAdd+0x0F)) //发送错误计数器
#define ACR0 (*(tByte volatile xdata *)(CanBasicAdd+0x10)) //验收代码寄存器0
#define ACR1 (*(tByte volatile xdata *)(CanBasicAdd+0x11))
#define ACR2 (*(tByte volatile xdata *)(CanBasicAdd+0x12))
#define ACR3 (*(tByte volatile xdata *)(CanBasicAdd+0x13))
#define AMR0 (*(tByte volatile xdata *)(CanBasicAdd+0x14)) //验收屏蔽寄存器0
#define AMR1 (*(tByte volatile xdata *)(CanBasicAdd+0x15))
#define AMR2 (*(tByte volatile xdata *)(CanBasicAdd+0x16))
#define AMR3 (*(tByte volatile xdata *)(CanBasicAdd+0x17))
#define FIN(i) (*(tByte volatile xdata *)(CanBasicAdd+0x10+i)) //发送/接收帧信息
#define ID1 (*(tByte volatile xdata *)(CanBasicAdd+0x11)) //发送/接收缓冲区之标示符1
#define ID2 (*(tByte volatile xdata *)(CanBasicAdd+0x12)) //发送/接收缓冲区之标示符2
#define DAT1(i) (*(tByte volatile xdata *)(CanBasicAdd+0x13+i)) //发送/接收数据首址
#define RBSA (*(tByte volatile xdata *)(CanBasicAdd+0x1E)) //接收缓冲器起始地址寄存器
#define CDR (*(tByte volatile xdata *)(CanBasicAdd+0x1F)) //时钟分频寄存器
#ifndef BIT_H_
#define BIT_H_
#define Bit(i) (0x1<<(i)) //位选择
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -