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

📄 cpu_osc.h

📁 LIN BUS 部分原代码
💻 H
字号:

#include "lin_cfg.h"

#define OSC_FREQ 			11059200     	//Oscillatorfreq in Hz
#define LINBAUDRATE 		9600    		//Baudrate in bit/s
#define COREMODE			6				//CPU in 6 or 12 clock-mode  

#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))

sfr ckcon=0x8f;
sbit TX=P3^1;
sbit RX=P3^0;
sbit SLNP=P1^3;





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

l_bool l_send_break(void);
void l_delay(l_u8 tm);
void l_send_bytes(l_u8 DATA);
l_bool l_rec_data(l_u8 * temp,l_u8 num);
void l_send_data(l_u8 * temp,l_u8 num);


⌨️ 快捷键说明

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