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

📄 sj1000.h

📁 Xscale下CAN总线控制器SJ1000驱动
💻 H
字号:

#include "msgQLib.h"


#define  CAN_BASE_ADDR		0x53000000

#define  CONTROL_REG		0
#define  COMMAND_REG		1
#define  STATUS_REG		2
#define  INTERRUPT_REG		3
#define  ACCEPTANCE_CODE_REG	4
#define  ACCEPTANCE_MASK_REG	5
#define  BUS_TIMING0_REG	6
#define  BUS_TIMING1_REG	7
#define  OUTPUT_CONTRL_REG	8
#define  TEST_REG		9
#define  SEND_IDENTIFIER	10
#define  SEND_CODE		11
#define  SEND_DATA0		12
#define  SEND_DATA1		13
#define  SEND_DATA2		14
#define  SEND_DATA3		15
#define  SEND_DATA4		16
#define  SEND_DATA5		17
#define  SEND_DATA6		18
#define  SEND_DATA7		19
#define  RECE_IDENTIFIER	20
#define  RECE_CODE		21
#define  RECE_DATA0		22
#define  RECE_DATA1		23
#define  RECE_DATA2		24
#define  RECE_DATA3		25
#define  RECE_DATA4	        26
#define  RECE_DATA5		27
#define  RECE_DATA6		28
#define  RECE_DATA7		29
#define  CLOCK_DIVIDER		31

#define  CAN_BAUD_SELECT	2
#define  MAX_CAN_SEND_GROUP     60
#define  MAX_RECV_BUF_LEN       600



#define CAN_REG_BYTE(reg)  *((char *)(CAN_BASE_ADDR +reg))

struct  BAUD_DATA 
{
	u_char   BT0;
	u_char   BT1;
};
static  struct  BAUD_DATA  CAN_BAUD[9]=
{
	{0x00,0x14}, /* 1M   */
	{0x00,0x1c}, /* 500k */
	{0x01,0x1c}, /* 250k */
	{0x03,0x1c}, /* 125k */
	{0x43,0x2f}, /* 100k */
	{0x47,0x2f}, /* 50k  */
	{0x53,0x2f}, /* 20k  */
	{0x67,0x2f}, /* 10k  */
	{0x7f,0x7f}, /* 5k   */
};


struct	SEND_DATA
{
	u_char	buf[10];
};
struct	RECV_DATA
{
	u_char	 buf[MAX_RECV_BUF_LEN];
	u_short  load_ptr;
	u_short  save_ptr;
};
struct	CAN_DATA
{
	struct	SEND_DATA  send_group[MAX_CAN_SEND_GROUP];
	u_short send_load_ptr;
	u_short send_save_ptr;	
	struct	RECV_DATA  recv;
	
	u_char  CAN_need_init_flag;

}CAN_data;




MSG_Q_ID	CAN_recv_id;
MSG_Q_ID	CAN_trans_id;
int	 	CAN_RECV_RING;

/*varible for test*/
char canlen;
char cantbuf[10];
char canrecvbuf[10];


/*varible for test*/

⌨️ 快捷键说明

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