OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32驱动EEPROM存储器AT24C128的读写范例

共6条 1/1 1 跳转至

STM32驱动EEPROM存储器AT24C128的读写范例

工程师
2020-07-31 20:16:11    评分

目前个人测试过AT24C02-AT24C128,感觉还可以。

里面没有页写函数,有兴趣的朋友可以补充一下,该程序仅供参考,源程序如下:


#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "key.h"  
#include "24cxx.h" 
#include "myiic.h"

//要写入到24c128的字符串数组
const u8 TEXT_Buffer[]={"STM32 AT24c128"};
#define SIZE sizeof(TEXT_Buffer)        
#define ADDRESS 163 //读写地址
 int main(void)
 { 
         
         
  u32 fan,fan1=6553;
         
        u8 datatemp[SIZE];
         
        NVIC_Configuration();
        delay_init();                     //延时函数初始化          
        uart_init(9600);                  //串口初始化为9600
        LED_Init();                                   //初始化与LED连接的硬件接口
        KEY_Init();                                   //按键初始化                         
        AT24CXX_Init();                         //IIC初始化 
        while(AT24CXX_Check())//检测不到24c128
        {
                delay_ms(500);
                LED0=!LED0;//DS0闪烁
        }   
        while(1)
        {
    //每一个函数都已经测试过,适合AT24C02-AT24C128
                //AT24CXX_WriteOneByte(2049,fan1);
    //AT24Cxx_WriteTwoByte(16383,fan1);
                //AT24CXX_Write(ADDRESS,(u8*)TEXT_Buffer,SIZE);
                //printf("Write:%s\r\n",TEXT_Buffer); //显示写入内容
    AT24CXX_WriteLenByte(0,fan1,2);
                delay_ms(1000);
 
                //fan=AT24CXX_ReadOneByte(2049);
    //fan=AT24Cxx_ReadTwoByte(16383);
                //AT24CXX_Read(ADDRESS,datatemp,SIZE);
                //printf("Read:%s\r\n",datatemp);//显示读取内容
                fan=AT24CXX_ReadLenByte(0,2);
    printf("Read:%d\r\n",fan);
        }
}





关键词: EEPROM     存储器     AT24C128     24C02    

工程师
2020-07-31 20:29:12    评分
2楼

不错!I2C总线驱动~


工程师
2020-07-31 20:34:36    评分
3楼

收藏! 谢谢咯~


工程师
2020-07-31 23:05:30    评分
4楼

感谢分享


高工
2020-07-31 23:09:58    评分
5楼

范例挺不错的


工程师
2021-01-02 22:34:20    评分
6楼

谢谢分享


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]