📄 can.h
字号:
#ifndef can_h
#define can_h
#define startadd 0x7F00 //SJA1000的首地址
#define FALSE 0
#define TRUE 1
//#define unsigned char unsigned char
//#define unsigned int uint
#define CanID 0x88
#define MODE 0x00 //模式寄存器
#define CMR 0x01 //命令寄存器
#define SR 0x02 //状态寄存器
#define IR 0x03 //中断寄存器
#define IER 0x04 //中断使能寄存器
#define BTR0 0x06 //总线时序寄存器0
#define BTR1 0x07 //总线时序寄存器1
#define OCR 0x08 //输出控制寄存器
#define TEST 0x09
#define ALC 0x0B //仲裁丢失捕捉寄存器
#define ECC 0x0C //错误代码捕捉寄存器
#define EWLR 0x0D //错误报警限额寄存器
#define RXERR 0x0E //RX错误计数寄存器
#define TXERR 0x0F //TX错误计数寄存器
#define ACR0 0x10 //验收代码寄存器
#define ACR1 0x11
#define ACR2 0x12
#define ACR3 0x13
#define AMR0 0x14 //验收屏障寄存器
#define AMR1 0x15
#define AMR2 0x16
#define AMR3 0x17
///////////////////////////
#define TXEFF 0x10
#define TXID0 0x11
#define TXID1 0x12
#define TXID2 0x13
#define TXID3 0x14
#define RXEFF 0x10
#define RXID0 0x11
#define RXID1 0x12
#define RXID2 0x13
#define RXID3 0x14
#define TXDATA0 0x15
#define TXDATA1 0x16
#define TXDATA2 0x17
#define TXDATA3 0x18
#define TXDATA4 0x19
#define TXDATA5 0x1A
#define TXDATA6 0x1B
#define TXDATA7 0x1C
#define RXDATA0 0x15
#define RXDATA1 0x16
#define RXDATA2 0x17
#define RXDATA3 0x18
#define RXDATA4 0x19
#define RXDATA5 0x1A
#define RXDATA6 0x1B
#define RXDATA7 0x1C
//////////////////////////
#define RMC 0x1D
//RX报文计数器
#define RBSA 0x1E
//RX缓冲器起始地址寄存器
#define CDR 0x1F
//时钟分频寄存器
//////////////////////////////////////////////////////////////////////
unsigned char read_sja(unsigned char addr); //读SJA1000状态寄存器子程序
void write_sja(unsigned char addr,unsigned char val); //写SJA1000控制寄存器子程序
unsigned char SJATestInterface(unsigned char testvalue);
unsigned char SJAEntryResetMode(void);
unsigned char SJAQuitResetMode(void);
unsigned char SJATestRstMode(void);
unsigned char SJASetOutControl(unsigned char OutCtrl);
unsigned char SJASetClockDivision(unsigned char clockdiv);
unsigned char SJASetAccCode(unsigned char acr0, unsigned char acr1, unsigned char acr2, unsigned char acr3);
unsigned char SJASetAccMask(unsigned char amr0, unsigned char amr1, unsigned char amr2, unsigned char amr3);
unsigned char SJASetBaudRateStandard(unsigned char BaudRateSize);
unsigned char SJASetOtherReg(void);
unsigned char SJASetIER(unsigned char value);
void SJAWriteDataToTxBuf(unsigned char Num, unsigned char Data);
//void delay_1ms(void);
//void Delay(uint n);
void Init_CAN(void);
void CanTransmit(void);
unsigned char CanReceive(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -