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

📄 lin_hal.h

📁 linBUS驱动原码
💻 H
字号:
#ifdef LIN_HAL_GLOBALS
#define LIN_HAL_EXT
#else
#define LIN_HAL_EXT extern 
#endif 

#define LIN_TIMEOUT			25000			//Timeout in Tbit
#define LIN_TIME_WAKEUP		128				//Timeout after Wakeup in Tbit
#define LIN_TIME_3WAKEUP	15000			//Timeout after 3 Wakeup in Tbit	

#define BAURDRATETEMP1		(OSC_FREQ/COREMODE)
#define BAURDRATETEMP2		(BAURDRATETEMP1/LINBAUDRATE)

#define BAUDRATERELOADVAL	(256-BAURDRATETEMP2/32)

#define TICKSPERBIT			(BAURDRATETEMP2/32)
#define BREAKTIME			(65535-(14*TICKSPERBIT))
#define BREAKTIMEH			(BREAKTIME/256)
#define BREAKTIMEL			(BREAKTIME-(BREAKTIMEH*256))

#define MAXFRAMETIME		((10*9*TICKSPERBIT+45)*200)
#define MAXFRAMETIME_HH		(((MAXFRAMETIME/65535)%256)+1)
#define MAXFRAMETIME_H		(255-MAXFRAMETIME/256)
#define MAXFRAMETIME_L		(255-MAXFRAMETIME%256)

//Time-Out Detection Definitions and Constants
//extern code InitBreakDetect
//extern data BreakTimeOut

//Time-Out Detection Definitions and Constants
//Timeouttime is 25000 Tbit

#define _LIN_TIMEOUT_HH		((LIN_TIMEOUT*TICKSPERBIT)/16777216)
#define _LIN_TIMEOUT_HL		(((LIN_TIMEOUT*TICKSPERBIT)/65535)-(_LIN_TIMEOUT_HH*256))
#define _LIN_TIMEOUT_LH		255-(((LIN_TIMEOUT*TICKSPERBIT)/256)-(_LIN_TIMEOUT_HH*65536)-(_LIN_TIMEOUT_HL*256))
#define _LIN_TIMEOUT_LL		255-((LIN_TIMEOUT*TICKSPERBIT)-(_LIN_TIMEOUT_HH*256*65536)-(_LIN_TIMEOUT_HL*65536)-((255-_LIN_TIMEOUT_LH)*256))

#define _LIN_WAKELONG_HH	((LIN_TIME_3WAKEUP*TICKSPERBIT)/(16777215))
#define _LIN_WAKELONG_HL	(((LIN_TIME_3WAKEUP*TICKSPERBIT)/65535)-(_LIN_WAKELONG_HH*256))
#define _LIN_WAKELONG_LH	255-(((LIN_TIME_3WAKEUP*TICKSPERBIT)/256)-(_LIN_WAKELONG_HH*65536)-(_LIN_WAKELONG_HL*256))
#define _LIN_WAKELONG_LL	255-((LIN_TIME_3WAKEUP*TICKSPERBIT)-(_LIN_WAKELONG_HH*256*65536)-(_LIN_WAKELONG_HL*65536)-((255-_LIN_WAKELONG_LH)*256))

#define _LIN_WAKESHORT		(65535-(LIN_TIME_WAKEUP*TICKSPERBIT))
#define _LIN_WAKESHORT_H	(_LIN_WAKESHORT/256)
#define _LIN_WAKESHORT_L	(_LIN_WAKESHORT-(_LIN_WAKESHORT_H*256))

/**!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/

LIN_HAL_EXT l_bool l_send_break(void);
LIN_HAL_EXT void l_delay(l_u8 tm);
LIN_HAL_EXT void l_send_bytes(l_u8 DATA);
LIN_HAL_EXT l_bool l_rec_data(l_u8 * temp,l_u8 num);
LIN_HAL_EXT void l_send_data(l_u8 * temp,l_u8 num);
LIN_HAL_EXT unsigned char display(unsigned char  *sd);

⌨️ 快捷键说明

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