注:这里指软件IIC,实时时钟,蜂鸣器用的PB4所以是学习端口复用
iic
这里使用软件模拟IIC是为了实现EEPROM的功能
这儿挺简单的,直接上代码吧
//写在main函数中的,用作记录开机次数
i2c_init();
temp = x24c02_read(0xff);
Delay_Ms(2);
x24c02_write(0xff,++temp);
Delay_Ms(2);
/**
* @说明 向AT24C02指定地址读入一个字节数据
* @参数 address:AT24C02内部存储地址
* @返回值 val:读出数据
*/
uint8_t x24c02_read(uint8_t address)
{
unsigned char val;
I2CStart();
I2CSendByte(0xa0);
I2CWaitAck();
I2CSendByte(address);
I2CWaitAck();
I2CStart();
I2CSendByte(0xa1);
I2CWaitAck();
val = I2CReceiveByte();
I2CWaitAck();
I2CStop()