iic.h

来自「E:2410-S V4.0 06.08.21UCOS V5.0Exp16 键盘及」· C头文件 代码 · 共 55 行

H
55
字号
/***************************************************************************\
	Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
	by threewter	2005.2.26
\***************************************************************************/
/***************************************************************************\
    #说明: iic接口驱动程序头文件
	----------------------------------  Bug  --------------------------------------

	----------------------------------  TODO list  --------------------------------------

	----------------------------------修正--------------------------------------

	2005-2-26	创建

\***************************************************************************/

#ifndef __ASM_ARCH_IIC_H__
#define __ASM_ARCH_IIC_H__

#define IICCON_ACKEN			(1<<7)	//IIC-bus acknowledge enable bit.
#define IICCON_CLK512			(1<<6)	// 1 = IICCLK = fPCLK /512
#define IICCON_INTR				(1<<5)	// IIC-Bus Tx/Rx interrupt enable/disable bit.
#define IICCON_INTPEND			(1<<4)	// IIC-bus Tx/Rx interrupt pending flag.
#define IICCON_CLKPRE(x)			FInsrt((x), Fld(4, 0))
#define IICSTAT_MODE_SR		(0<<6)	//Slave receive mode
#define IICSTAT_MODE_ST		(1<<6)	//Slave transmit mode
#define IICSTAT_MODE_MR		(2<<6)	//Master receive mode
#define IICSTAT_MODE_MT		(3<<6)	//Master transmit mode
#define IICSTAT_MODE_MSK		(3<<6)
#define IICSTAT_BUSY			(1<<5)	//IIC-Bus busy signal status bit.(read)
#define IICSTAT_START			(1<<5)	//START signal generation.(write)
#define IICSTAT_OUTEN			(1<<4)	//IIC-bus data output enable
#define IICSTAT_ARBFAILED		(1<<3)	//Bus arbitration failed during serial I/O
#define IICSTAT_SLAVEADDR		(1<<2)	//IIC slave address match
#define IICSTAT_ACK				(1)


void Set_IIC_mode(int nIICCON, int *poldIICCON);
void IIC_init(void);
void Led_IIC_init(void);
void IIC_MasterTxStart(char data);
void IIC_MasterTx(char data);
char IIC_MasterRx(int isACK);
void IIC_MasterRxStart(char address);
void IIC_MasterTxStop(void);
void IIC_MasterRxStop(void);
unsigned char IIC_Read(char devaddr, char address);
void IIC_Write(char devaddr, char address, unsigned char data);
void IIC_ReadSerial(char devaddr, char address, unsigned char* pdata, int n);
void IIC_WriteSerial(char devaddr, char address, unsigned char* pdata, int n);
void IIC_Send(char devaddr, const char* pdata, int n);

#endif

⌨️ 快捷键说明

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