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

📄 lib.h

📁 ST72321 control tuner(FST) and CD servo (STA1052).
💻 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 + -