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