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

📄 low_can_bus.h

📁 汽车行业专用通讯
💻 H
字号:
/*
**********************************************************************************************
*                                             HQE
*                               The Dual area climate-control system
*                                             
*
*                  (c) Copyright 2008-   , LongFine Automotive Electrical Co.Ltd 
*                                      All Rights Reserved
*
*
* File 			: canbus_sja1k.h
* By   			: zhanghouyuan
* Date 			: 2008/5/20
*
* CPU TYPE    	: M30290 
* Description	: nop()
* Version		: Ver.0.0
**********************************************************************************************
*/
#ifdef	CANBUS_SJA1K_GLOBALS
#define	CANBUS_SJA1K_EXT 
#else
#define	CANBUS_SJA1K_EXT extern
#endif

/**************************定义寻址的基址****************************************************/

#define CR_Addr			0
#define CMR_Addr		1
#define SR_Addr			2
#define IR_Addr			3
#define ACR_Addr		4
#define AMR_Addr		5
#define BTR0_Addr		6
#define BTR1_Addr		7
#define OCR_Addr		8
#define CHK_REG_Addr 	9   
#define CDR_Addr		31
//#define ERR_CHK_Ctr		20

/**************************定义总线定时寄存器的值********************************************/
#define SJA_BTR0 	0x40            /*system clock 4MHz,sja1000 baudrate is 125kbp*/
#define SJA_BTR1 	0xBA            /*SJW = 2;smaple point 75%*/                     
/**************************设置接收报文类型(标示符)********************************************/
                                                      
#define SJA_ACR 	0x33            //验收代码寄存器的值0x333
#define SJA_AMR 	0xFF            //验收屏蔽寄存器的值
/**************************设置输出始终类型********************************************/
                                                      
#define SJA_OCR 	0x02             //输出控制寄存器的值:正常输出模式
#define SJA_CDR 	0x08             //Basic can mode; CLKOUT output off;cbp  = 0;
/**************************设置SJA中断,1为开中断********************************************/
#define SJA_OIE 	1                //溢出中断
#define SJA_EIE 	1                //错误中断
#define SJA_TIE 	1                //发送中断
#define SJA_RIE 	1                //接收中断

/**************************定义SJA1000读写缓冲区的数据结构********************************************/
typedef  struct BASICCAN_BUFstruct

					{
               			unsigned char FrameID_H;
               			unsigned char FrameLENTH ;
			   			unsigned char FrameKIND  ;
			   			unsigned char FrameID_L3 ;
			   			unsigned char Frame_Data[8];
						
			   		}	BASICCAN_FRAME;
			   
			   
CANBUS_SJA1K_EXT BASICCAN_FRAME	receive_BUF,send_BUF;


/*
*******************************************************************************************
*function name : canbus_sja1k;
*
*
*main() call canbus_sja1k(void);
*
*
*
*
*********************************************************************************************
*/
CANBUS_SJA1K_EXT  	void Low_CAN_Task(void);
/*
*******************************************************************************************
*function name : canbus_sja1k_init;
*
*
*canbus_sja1k() call canbus_sja1k(void);
*
*config :work mode or reset mode ;baudrate;ect;
*
*
*********************************************************************************************
*/

CANBUS_SJA1K_EXT	void sja1000_init(void);

CANBUS_SJA1K_EXT	void target_init(void);

CANBUS_SJA1K_EXT   	void sja1000_reset_on(void);

CANBUS_SJA1K_EXT   	void sja1000_reset_off(void); 
 
CANBUS_SJA1K_EXT   	void sja1000_config(void); 

CANBUS_SJA1K_EXT	void write_sja1000(INT8U,INT8U);

CANBUS_SJA1K_EXT    void send_add(INT8U);

CANBUS_SJA1K_EXT	void send_byte(INT8U);

CANBUS_SJA1K_EXT	INT8U read_sja1000(INT8U);

CANBUS_SJA1K_EXT    INT8U check_hard_connect(void);

CANBUS_SJA1K_EXT    INT8U setting_reset_mode(void);

CANBUS_SJA1K_EXT	INT8U setting_working_mode(void);

CANBUS_SJA1K_EXT	INT8U setting_sja_rate(void);

CANBUS_SJA1K_EXT	INT8U setting_data_select(void);

CANBUS_SJA1K_EXT	INT8U setting_cdr(void);

CANBUS_SJA1K_EXT	INT8U setting_ocr(void);


CANBUS_SJA1K_EXT	INT8U Write_SJA_SendBuf(void);

CANBUS_SJA1K_EXT	INT8U Read_SJA_RecBuf(void);

CANBUS_SJA1K_EXT	INT8U receive_data(void);

CANBUS_SJA1K_EXT	void send_add0(INT8U);



CANBUS_SJA1K_EXT	INT8U DATA,STA,key60;



⌨️ 快捷键说明

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