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
|