cpu_osc.h

来自「51单片机各类源程序集锦」· C头文件 代码 · 共 66 行

H
66
字号

#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 + =
减小字号Ctrl + -
显示快捷键?