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

📄 i2c_24c02.c

📁 uCos应用
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: I2C_24C02.c
** Last modified Date: 2006-11-15 
** Last Version: v1.0
** Description: Stellaris系列单片机模拟I2C主方式读写CAT24C02。
** 
**------------------------------------------------------------------------------------------------------
** Created By: zha jinzhong
** Created date: 2006-11-15 
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
********************************************************************************************************/
/*#include "hw_i2c.h"
#include "hw_ints.h"
#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "i2c.h"
#include "interrupt.h"
#include "sysctl.h"		*/	

#include <includes.h>
#define CSI24c02  (0x50<<1)		// 从机地址,注意需将原从机地址左移一位。
#define writeaddr 0x00			// 对24c02操作的子地址。
#define readaddr  0x00
#define rightled  GPIO_PIN_4	// 数据判断指示灯的设置。
#define wrongled  GPIO_PIN_5

#define STATE_IDLE         0  // I2C总线的相关的操作状态。
                              // 状态0,总线空闲状态。
#define STATE_WRITE_NEXT   1  // 状态1,写下一个数据状态。
#define STATE_WRITE_FINAL  2  // 状态2,写最后一个数据。
#define STATE_WAIT_ACK     3  // 状态3,返回一个应答信号,以指示读操作已经完成。
#define STATE_SEND_ACK     4  // 状态4,等待应答信号。
#define STATE_READ_ONE     5  // 状态5,读取一个字节的数据。
#define STATE_READ_FIRST   6  // 状态6,读取字符串的首数据。
#define STATE_READ_NEXT    7  // 状态7,读取下一个数据。
#define STATE_READ_FINAL   8  // 状态8,读取最后一个数据。
#define STATE_READ_WAIT    9  // 状态9,读取数据的最终状态。

//-----------------------------------------------------------------------------------------
// 此变量存储将被发送或接收的数据。
//-----------------------------------------------------------------------------------------
//static unsigned char *g_pucData = 0;
//static unsigned long g_ulCount = 0;
//-----------------------------------------------------------------------------------------
// 中断服务程序的当前状态。
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
//
// EEPROM写操作
// 输入参数:puData:    待发送的数据。
//           ulOffset:  器件的子地址。
//           ulCount:   待发送数据的个数。
// 返回参数:无。
//-----------------------------------------------------------------------------------------
void EEPROMWrite(unsigned char *pucData,unsigned long ulOffset,unsigned long ulCount)
{
	ISendStr(CSI24c02, ulOffset, 1, pucData, ulCount);
}

//-----------------------------------------------------------------------------------------
//
// EEPROM读操作
// 输入参数:puData:    读取的数据。
//           ulOffset:  器件的子地址。
//           ulCount:   读取数据的个数。
// 返回参数:无。
//
//-----------------------------------------------------------------------------------------
void EEPROMRead(unsigned char *pucData, unsigned long ulOffset,unsigned long ulCount)
{
	IRcvStr(CSI24c02, ulOffset, 1, pucData,  ulCount);
}



⌨️ 快捷键说明

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