找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2831|回复: 2
打印 上一主题 下一主题
收起左侧

STM32读取写入EEPRIOM 24C02程序(理论支持24全系列)

[复制链接]
跳转到指定楼层
楼主
ID:327448 发表于 2018-9-13 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码中有详细连接方式,IIC读取写入EEPROM

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "key.h"  
  7. #include "24cxx.h"
  8. #include "myiic.h"
  9. #include "oled.h"


  10. //要写入到24c02的字符串数组

  11. const u8 TEXT_Buffer[]={"CUIT"};

  12. #define SIZE0 sizeof(TEXT_Buffer)       
  13.        
  14. int main(void)
  15. {
  16.         u8 key;
  17.         u16 i=0;
  18.         u8 datatemp[SIZE0];
  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
  20.         delay_init();                     //延时函数初始化          
  21.         uart_init(115200);                 //串口初始化为9600
  22.         LED_Init();                                  //初始化与LED连接的硬件接口
  23.         KEY_Init();                                //按键初始化                        
  24.         AT24CXX_Init();                        //IIC初始化
  25.         OLED_Init();
  26.         OLED_Clear();       
  27.          PBout(9)=0;
  28.          PBout(8)=0;
  29.         while(AT24CXX_Check())//检测不到24c02
  30.         {

  31.                 printf("24C02 Check Failed! \n");
  32.                         OLED_ShowString(1,1,"24C02 Check !",8);
  33.                
  34.                 delay_ms(500);

  35.                 printf("Please Check!       \n");
  36.                         OLED_ShowString(1,3,"Please Check! ",8);
  37.                 delay_ms(500);
  38.         }
  39.                         OLED_Clear();       
  40.                 printf("24C02 Ready! \n");
  41.                                 OLED_ShowString(1,1,"24C02 Ready!",8);
  42.         delay_ms(800);
  43.         delay_ms(800);
  44.         delay_ms(800);
  45.           OLED_Clear();       

  46.                           printf("Start Write 24C02....\n");
  47.                                 OLED_ShowString(4,3,"Start Write...",8);
  48.         delay_ms(800);
  49.         delay_ms(800);
  50.         delay_ms(800);                       
  51.                           AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE0);
  52.                        
  53.                           printf("24C02 Write Finished!  \n");
  54.                                 OLED_ShowString(4,3,"Write Finished !",8);
  55.         delay_ms(800);
  56.         delay_ms(800);
  57.         delay_ms(800);
  58.                                  OLED_Clear();       
  59. //                }
  60.                
  61. //                if(key==KEY0_PRES)//KEY0 按下,读取字符串并显示
  62. //                {
  63.                         printf("Start Read 24C02....  \n");
  64.                                         OLED_ShowString(4,3,"Start Read ...",8);
  65.         delay_ms(800);
  66.         delay_ms(800);
  67.         delay_ms(800);
  68.                         AT24CXX_Read(0,datatemp,SIZE0);
  69.                                                  OLED_Clear();
  70.                        
  71.                         OLED_ShowNum(5,5,SIZE0,3,8);
  72.                         printf("The Data Is:  \n");
  73.        
  74.                             OLED_ShowString(2,1,"The Data Is:",8);
  75.                                         OLED_ShowString(4,3,datatemp,8);
  76.                         printf("%s \n",datatemp);
  77. //                }

  78.         }
  79. //}
复制代码

所有资料51hei提供下载:
IIC-24C02.rar (380.94 KB, 下载次数: 71)



评分

参与人数 2黑币 +62 收起 理由
muzhi + 12 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:342911 发表于 2019-12-11 23:51 | 只看该作者
感谢感谢,IIC初始化时忘了改变指定管脚映射这回事,坑了好久
回复

使用道具 举报

板凳
ID:658039 发表于 2020-1-16 14:36 | 只看该作者
好像C02与后面的不一样,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表