📄 lin_hal.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 + -