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

📄 i2c196.h

📁 以ST公司CPU为核心的彩色电视机的完整源程序。
💻 H
字号:
/*********************** SGS-THOMSON MICROELECTRONICS ************************
FILENAME     : I2C_BUS.H
VERSION      : V1.0
DATE         : JAN 1999
AUTHOR(s)    : ASHISH RUDOLA/ DEEPAK DOSHI
PROCESSOR    : ST92196
DESCRIPTION  : This module contains constant definitions and function
               prototypes.
MODIFICATIONS:
   -
*****************************************************************************/
#ifndef _I2C_BUS_196
#define _I2C_BUS_196

/* define the i2c-bus register and constant */
#define I2C_PG				((unsigned char)44)			/* I2C registers page */

register volatile unsigned char I2COAR asm("R240");		/* Own address register */
#define I2C_ADD0   			((unsigned char)0x01)		/* Adr0 bit mask */

register volatile unsigned char I2CFQR asm("R241");		/* Frequency register */
#define I2C_PP_DRV			((unsigned char)0x10)
#define I2C_FMEN            ((unsigned char)0x20)
#define I2C_CHANNEL_MASK    ((unsigned char)0xC0)
#define I2C_CHANNEL_1		((unsigned char)0x00)
#define I2C_CHANNEL_2		((unsigned char)0x80)
#define I2C_CHANNEL_3       	((unsigned char)0x40)
#define I2C_CHANNEL_4		((unsigned char)0xC0)

#define I2C_FREQ_MASK			((unsigned char)0x0F)
#define I2C_020KHZ			((unsigned char)0x00)
#define I2C_030KHZ			((unsigned char)0x01)
#define I2C_040KHZ			((unsigned char)0x02)
#define I2C_050KHZ			((unsigned char)0x03)
#define I2C_062KHZ			((unsigned char)0x04)
#define I2C_071KHZ			((unsigned char)0x05)
#define I2C_083KHZ			((unsigned char)0x06)
#define I2C_100KHZ			((unsigned char)0x07)
#define I2C_125KHZ			((unsigned char)0x08)
#define I2C_166KHZ			((unsigned char)0x09)
#define I2C_200KHZ			((unsigned char)0x0A)
#define I2C_250KHZ			((unsigned char)0x0B)
#define I2C_363KHZ			((unsigned char)0x0C)
#define I2C_400KHZ			((unsigned char)0x0D)
#define I2C_500KHZ			((unsigned char)0x0E)
#define I2C_800KHZ			((unsigned char)0x0F)

register volatile unsigned char I2CCTR asm("R242");		/* I2C control register */
#define I2C_AFEN   			((unsigned char)0x80)		/* Advanced Features Enable bit mask */
#define I2C_RTI    			((unsigned char)0x40)		/* Return to inactive state bit mask */
#define I2C_GENC_ACK 			((unsigned char)0x20)		/* General Call ack bit mask */
#define I2C_SEND_ACK 			((unsigned char)0x10)		/* Ack bit mask */
#define I2C_MONITOR 			((unsigned char)0x08)		/* Bus monitor bit mask */
#define I2C_RSRT   			((unsigned char)0x04)		/* Repeated start bit mask */
#define I2C_STOP   			((unsigned char)0x02)		/* Stop condition bit mask */
#define I2C_CLEAR  			((unsigned char)0x01)		/* Reset generation bit mask */

register volatile unsigned char I2CSTR1 asm("R245");	/* I2C status register 1 */
#define I2C_ERROR  			((unsigned char)0x80)		/* IRQ on error bit mask */
#define I2C_ARB_LOST 			((unsigned char)0x40)		/* Arbitration lost bit mask */
#define I2C_READ   			((unsigned char)0x20)		/* Read/Write status bit mask */
#define I2C_FIRST  			((unsigned char)0x10)		/* status bit mask */
#define I2C_GEN_CALL 			((unsigned char)0x08)		/* bit mask */
#define I2C_ACK_BIT  			((unsigned char)0x04)		/* Ack bit level bit mask */
#define I2C_ACT_SLV  			((unsigned char)0x02)		/* Slave Ack bit mask */
#define I2C_ACTIVE   			((unsigned char)0x01)		/* I2C avtive bit mask */

register volatile unsigned char I2CSTR2 asm("R244");	/* I2C status register 2 */
#define I2C_ISCEN  			((unsigned char)0x80)		/* Interrupt on stop condition bit mask */
#define I2C_SFEN   			((unsigned char)0x40)		/* Spike filter enable bit mask */
#define I2C_SCLIN  			((unsigned char)0x20)		/* SCL bus logic state bit mask */
#define I2C_SDAIN  			((unsigned char)0x10)		/* SDA bus logic state bit mask */
#define I2C_INT    			((unsigned char)0x08)		/* Interrupt bit mask */
#define I2C_UNPROC 			((unsigned char)0x04)		/* Unprocessed bit mask */
#define I2C_UNEXP  			((unsigned char)0x02)		/* Unexpected Ack bit mask */
#define I2C_MISP   			((unsigned char)0x01)		/* Misplaced bit mask */

register volatile unsigned char I2CDR asm("R243");		/* I2C data register */

#endif

⌨️ 快捷键说明

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