标题:
基于NL6221操作EEPROM源码
[打印本页]
作者:
n841115849
时间:
2017-12-29 14:14
标题:
基于NL6221操作EEPROM源码
NL6221操作EEPROM源码
单片机源程序如下:
/*
* =====================================================================================
*
* Filename: eeprom.c
*
* Description: EEPROM interface realize interface.
*
* Version: 0.0.1
* Created: 08.08 11:09:07
* Revision: none
*
* Author: Lin Hui (Link), linhui.568@163.com
* Organization: Nufront
*
*--------------------------------------------------------------------------------------
* ChangLog:
* version Author Date Purpose
* 0.0.1 Lin Hui 2014.08.08 Create and realize the interface.
*
* =====================================================================================
*/
#include "eeprom.h"
/*
* === FUNCTION ======================================================================
* Name: eeprom_data_read
* Description: Read eeprom data interface.
* Parameters: @addr: eeprom data address.
* @length: eeprom data length which will be read.
* @buf: buffer stored eeprom data, it must be large or equel 'length'.
* Return: n, return the buffer data read.
* -1, read eeprom data error.
* Note:
* =====================================================================================
*/
int eeprom_data_read(const int addr, const int length, char * buf)
{
int i;
int temp = addr;
for (i = 0; i < length; i++) {
BSP_I2CByteRead(temp++, (unsigned char *)&buf[i]);
}
return i;
} /* ----- end of function eeprom_data_read ----- */
/*
* === FUNCTION ======================================================================
* Name: eeprom_data_write
* Description: write data to eeprom interface.
* Parameters: @addr: eeprom data address.
* @length: eeprom data length which will be read.
* @buf: buffer stored eeprom data, it must be large or equel 'length'.
* Return: n, return data length which had write.
* -1, write data to eeprom error.
* Note:
* =====================================================================================
*/
int eeprom_data_write(const int addr, const int length, const char * buf)
{
int i;
int temp = addr;
for (i = 0; i < length; i++) {
BSP_I2CByteWrite(temp++, (unsigned char *)&(buf[i]));
}
return i;
} /* ----- end of function eeprom_data_write ----- */
//eeprom init
int eeprom_init(void)
{
BSP_I2CInit(EEPROM_ADDR); //该地址记得要右移一位,比较AT24C02,比如I2C地址为0xA0,,就设置为0x50
return 0;
}
复制代码
所有资料51hei提供下载:
eeprom i2c.zip
(1.51 KB, 下载次数: 6)
2017-12-29 14:13 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1