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

📄 can.h

📁 Atmel mcu can interface design example
💻 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 + -