📄 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;
#ifdef DEBUG_MODE
#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;}
#else
#define M_WAIT {NOP;NOP;NOP;}
#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 unsigned char MaxMinChangeProtect(unsigned char Num,signed char ChangeVal,unsigned char MaxVal,unsigned char MinVal,unsigned char ProtectState);
extern void CopyString(unsigned char *p, unsigned char *src);
extern void CopyString2(unsigned char *p, unsigned char *src);
extern unsigned char GetADValue(unsigned char input);
extern void Wait10us(unsigned char time);
extern void Wait1ms(unsigned char time);
extern void LibInit(void);
extern void LibMain(void);
#define Pin_test PIN64
#define PD_test PINDDR64
#define PO_test PINOR64
#define Pin_SW_I2CData PIN29
#define PD_SW_I2CData PINDDR29
#define PO_SW_I2CData PINOR29
#define Pin_SW_I2CClk PIN30
#define PD_SW_I2CClk PINDDR30
#define PO_SW_I2CClk PINOR30
#define Pin_SW2_I2CData PIN51
#define PD_SW2_I2CData PINDDR51
#define PO_SW2_I2CData PINOR51
#define Pin_SW2_I2CClk PIN52
#define PD_SW2_I2CClk PINDDR52
#define PO_SW2_I2CClk PINOR52
/* PUBLIC HW IIC DEFINES ************************************************************/
/* Register definitions for the i2c peripherals. ----------------------------*/
/* I2C_CCR possible speeds ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
// Fcpu = 4.332Mhz
//#define I2C_SPEED 0X26 /* 100.00 KHz.*/
//#define I2C_SPEED 0X37 /* 70.00 KHz.*/
//#define I2C_SPEED 0X4E /* 50.00 KHz.*/
//#define I2C_SPEED 0X9E /* 25.00 KHz.*/
//#define I2C_SPEED 0XEC /* 15.5 KHz.*/
//#define I2C_SPEED 0xEA /* 20.0 KHz.**/
//#define I2C_SPEED 0X86 /* 333.00 KHz.*/
//#define I2C_SPEED 0X8C /* 190.00 KHz.*/
//#define I2C_SPEED 0X8E /* 167.00 KHz.*/
//#define I2C_SPEED 0x82 /* 277.00 KHz.*/
#define I2C_SPEED_277K 0x82
#define I2C_SPEED_100K 0x26
#define I2C_SPEED_20K 0xEA
#define I2C_SPEED_50K 0x4E
/* I2C address definition for each peripheral on the CORALINE i2c bus. ------*/
/* PUBLIC DEFINES ************************************************************/
// +1 for subaddress
#define I2C_MTBUF 20+1 /* Master transmitter buffer size.*/
#define I2C_MRBUF 20+1 /* Master receiver buffer size.*/
#define I2C_INITIAL_ADR 0x0
#define I2C_CD_ADR 0xE0
ext unsigned char i2c_nbyte_index;
ext unsigned char i2c_dest;
/* FUNCTION DESCRIPTIONS *****************************************************/
ext unsigned char mt_send_state;
#define MT_SEND_IDLE 0
#define MT_SEND_START 1
#define MT_SEND_DEST_ADDRESS 2
#define MT_SEND_DEST_DATA 3
#define MT_SEND_STOP 4
#define MT_SEND_SUCCESS 5
#define MT_SEND_ERROR 6
ext unsigned char mr_rece_state;
#define MR_RECE_IDLE 0
#define MR_RECE_START 1
#define MR_RECE_DEST_ADDRESS 2
#define MR_RECE_LEN 3
#define MR_RECE_DATA 4
#define MR_RECE_LAST_DATA 5
#define MR_RECE_SUCCESS 6
#define MR_RECE_ERROR 7
/*extern void HW_I2C_Int (void);
extern void HW_I2C_Reset (void);
extern void HW_I2C_MasterProcess(void);
extern unsigned char Rece_CheckSum(void);
extern void HW_I2C_StopCom(void);
extern void HW_I2C_StartCom(void);
extern void HW_I2C_Send (unsigned char PeriphIdtemp);
extern void HW_I2C_Receive (unsigned char periphidtemp);
extern void HW_I2C_FlagAllClear();*/
extern void HWI2CSendData(unsigned char addr, unsigned char *sendbuff);
extern void HWI2CReadData(unsigned char addr, unsigned char *readbuff);
extern void HWI2CInt(void);
ext unsigned char HWI2CMode;
ext unsigned char HWI2CAddress;
ext unsigned char HWI2CSendLen;
ext unsigned char HWI2CReadLen;
ext unsigned char *HWI2CDataSend;
ext unsigned char *HWI2CDataRead;
#ifdef DEBUG_MODE
ext unsigned char DebugSubMode;
ext unsigned char DebugBuff[60];
ext unsigned char DebugNum;
ext unsigned char DebugLoop;
ext unsigned char DebugRDS;
ext unsigned char DebugTimer;
extern void DebugSend(void);
extern void DebugShow(unsigned char *pStart,unsigned int inputdata,unsigned char *pStop);
#endif
/*********************************************************
File End
*********************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -