📄 at24c256.c
字号:
//**********************************
//*版本: Test 1.0
//*作者: XUGUOHONG
//*E-MAIL: KK20Y@YAHOO.COM.CN
//*WEBSITE:microdesign.000webhost.com
//**********************************
// eeprom读写,写之后必须加足够的delay
// iic_wrom(52,0xAB);
// delay_20ms();
// uart0_send(iic_rrom(52)) ;
// at24c256接法
#define EEPROM_WADD 0XA6
#define EEPROM_RADD 0XA7
//**********************************
//* eeprom写数据
//* 16BIT地址,8位数据
//**********************************
void iic_wrom(unsigned int address,unsigned char data)
{
siic_start();
siic_wbyte(EEPROM_WADD); // 器件地址,写命令
siic_test();
siic_wbyte(address>>8); // 寄存器地址高8位
siic_test();
siic_wbyte(address); // 寄存器地址低8位
siic_test();
siic_wbyte(data); // 数据写入
siic_test();
siic_stop();
delay_20ms();
}
//**********************************
//* eeprom读数据
//**********************************
unsigned char iic_rrom(unsigned int address)
{
unsigned char data;
siic_start();
siic_wbyte(EEPROM_WADD); // 器件地址,写命令
siic_test();
siic_wbyte(address>>8); // 寄存器地址高8位
siic_test();
siic_wbyte(address); // 寄存器地址低8位
siic_test();
siic_start();
siic_wbyte(EEPROM_RADD);
siic_test();
data=siic_rbyte();
siic_wone();
siic_stop();
return data;
}
void delay_20ms(void)
{
unsigned int temp;
unsigned char count;
for(temp=0X0FFF;temp>0;temp--) //延时约5ms
{
for(count=1;count>0;count--)
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -