标题:
STM32读取写入EEPRIOM 24C02程序(理论支持24全系列)
[打印本页]
作者:
wqe561
时间:
2018-9-13 17:24
标题:
STM32读取写入EEPRIOM 24C02程序(理论支持24全系列)
代码中有详细连接方式,IIC读取写入EEPROM
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "24cxx.h"
#include "myiic.h"
#include "oled.h"
//要写入到24c02的字符串数组
const u8 TEXT_Buffer[]={"CUIT"};
#define SIZE0 sizeof(TEXT_Buffer)
int main(void)
{
u8 key;
u16 i=0;
u8 datatemp[SIZE0];
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
delay_init(); //延时函数初始化
uart_init(115200); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //按键初始化
AT24CXX_Init(); //IIC初始化
OLED_Init();
OLED_Clear();
PBout(9)=0;
PBout(8)=0;
while(AT24CXX_Check())//检测不到24c02
{
printf("24C02 Check Failed! \n");
OLED_ShowString(1,1,"24C02 Check !",8);
delay_ms(500);
printf("Please Check! \n");
OLED_ShowString(1,3,"Please Check! ",8);
delay_ms(500);
}
OLED_Clear();
printf("24C02 Ready! \n");
OLED_ShowString(1,1,"24C02 Ready!",8);
delay_ms(800);
delay_ms(800);
delay_ms(800);
OLED_Clear();
printf("Start Write 24C02....\n");
OLED_ShowString(4,3,"Start Write...",8);
delay_ms(800);
delay_ms(800);
delay_ms(800);
AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE0);
printf("24C02 Write Finished! \n");
OLED_ShowString(4,3,"Write Finished !",8);
delay_ms(800);
delay_ms(800);
delay_ms(800);
OLED_Clear();
// }
// if(key==KEY0_PRES)//KEY0 按下,读取字符串并显示
// {
printf("Start Read 24C02.... \n");
OLED_ShowString(4,3,"Start Read ...",8);
delay_ms(800);
delay_ms(800);
delay_ms(800);
AT24CXX_Read(0,datatemp,SIZE0);
OLED_Clear();
OLED_ShowNum(5,5,SIZE0,3,8);
printf("The Data Is: \n");
OLED_ShowString(2,1,"The Data Is:",8);
OLED_ShowString(4,3,datatemp,8);
printf("%s \n",datatemp);
// }
}
//}
复制代码
所有资料51hei提供下载:
IIC-24C02.rar
(380.94 KB, 下载次数: 72)
2018-9-13 18:48 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
muzhi
时间:
2019-12-11 23:51
感谢感谢,IIC初始化时忘了改变指定管脚映射这回事,坑了好久
作者:
shu_007
时间:
2020-1-16 14:36
好像C02与后面的不一样,
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1