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

📄 lib.h

📁 我个人编写的车载dvd上的程序
💻 H
字号:
/*********************************************************
	Project:		ST FST(TDA7540)
	File name:	Lib.h
	Description:	
	Write/Modify:	Perry Liang
	Time:		2006-1-24- 15:33:15
*********************************************************/

#define NOP	_asm("nop");/* No Operation */
#define DI _asm("sim")/* disable interrupts */
#define EI _asm("rim")/* enable interrupts */
#define TRAP  _asm("trap");/* Trap (soft IT) */
#define WAIT _asm("wfi");/* Wait For Interrupt */
#define HALT  _asm("halt");        /* Halt */

#define	M_WAIT		{NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;NOP;\
					NOP;NOP;NOP;NOP;NOP;}

#ifdef DEBUG_SCI_ENABLE
#define M_SCI_OUT8BIT(x)	{while((USART_SR&0x80)==0);USART_DR=(x);}
#define M_SCI_OUTVAL(x)		M_SCI_OUT8BIT((x/100)+'0');M_SCI_OUT8BIT((x/10%10)+'0');M_SCI_OUT8BIT((x%10)+'0');
#define M_SCI_LINE_END		M_SCI_OUT8BIT(0x0D);M_SCI_OUT8BIT(0x0A);

#define M_SCI_IN8BIT(x)     {while((USART_SR & 0x20) == 1);(x) = USART_DR;}
#else
#define M_SCI_OUT8BIT(x)  
#define M_SCI_OUTVAL(x)
#define M_SCI_LINE_END
#endif

#ifdef DEBUG_RDS
#define DEBUG__RDS__OUT8BIT(x)		M_SCI_OUT8BIT(x)
#define DEBUG__RDS__OUTVAL(x)		M_SCI_OUTVAL(x)
#define DEBUG__RDS__LINE__END		M_SCI_LINE_END
#else
#define DEBUG__RDS__OUT8BIT(x)	
#define DEBUG__RDS__OUTVAL(x)
#define DEBUG__RDS__LINE__END
#endif

#define TRUE		1
#define FALSE	0

#ifdef ERROR_ENABLE
ext unsigned 	int Error;
#define ERROR_REPORT(x,y) if(x){Error=y;}
#else
#define ERROR_REPORT(x,y)
#endif

extern void I2CStart(void);
extern void I2CStop(void);
extern unsigned char I2COut8Bit(unsigned char outbyte);
extern unsigned char I2CIn8Bit(void);
extern void I2CAck(void);
extern void I2CNAck(void);
extern void I2C2Start(void);
extern void I2C2Stop(void);
extern unsigned char I2C2Out8Bit(unsigned char outbyte);
extern unsigned char I2C2In8Bit(void);
extern void I2C2Ack(void);
extern void I2C2NAck(void);

extern void EepromRead(unsigned char address,unsigned char begin,unsigned char length,unsigned char *p);
extern void EepromWrite(unsigned char address,unsigned char begin,unsigned char length,unsigned char *p);
extern void EepromRandWrite(unsigned char address,unsigned char subaddress,unsigned char datas);
extern unsigned char MaxMinChangeProtect(unsigned char Num,signed char ChangeVal,unsigned char MaxVal,unsigned char MinVal,unsigned char ProtectState);
extern unsigned char GetADValue(unsigned char input);
extern void eeprom_write_val(unsigned char subaddr,unsigned char datas);
extern void CopyString(unsigned char @far *pStr1,unsigned char @far *pStr2);

extern void WriteToI2c(unsigned char iDeviceAddr,unsigned char iAddr,unsigned char *bData,int len);//zengdm

extern void Wait10us(unsigned char time);
extern void Wait1ms(unsigned char time);

extern void LibInit(void);
extern void LibMain(void);
#ifdef D_STORE_DATA_IN_EEPROM
void EepromByteWrite(unsigned char addr,unsigned char subaddr,unsigned char datas);
 void EepromByteRead(unsigned char addr,unsigned char subaddr,unsigned char *p);
#endif


#define PD_SW_I2CClk         PC_DDR1
#define PCR1_SW_I2CClk     PC_CR11
#define PCR2_SW_I2CClk      PC_CR21
#define Pin_SW_I2CClk       PC_ODR1
#define PinIn_SW_I2CClk   PC_IDR1

#define PD_SW_I2CData       PC_DDR2
#define PCR1_SW_I2CData   PC_CR12
#define PCR2_SW_I2CData   PC_CR22
#define Pin_SW_I2CData      PC_ODR2
#define PinIn_SW_I2CData   PC_IDR2




#define PD_TEST		PH_DDR2
#define PCR1_TEST	PH_CR12
#define PCR2_TEST	PH_CR22
#define Pin_TEST		PH_ODR2
#define PinIn_TEST	PH_IDR2

#define PD_SW2_I2CClk  PI_DDR2
#define PCR1_SW2_I2CClk PI_CR12
#define PCR2_SW2_I2CClk PI_CR22
#define Pin_SW2_I2CClk PI_ODR2
#define PinIn_SW2_I2CClk PI_IDR2
#define PD_SW2_I2CData PI_DDR3
#define PCR1_SW2_I2CData PI_CR13
#define PCR2_SW2_I2CData PI_CR23
#define Pin_SW2_I2CData  PI_ODR3
#define PinIn_SW2_I2CData PI_IDR3

/*********************************************************
				File End
*********************************************************/



⌨️ 快捷键说明

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