本文采用的是GD32F450芯片,基于此芯片的官网例程来对IIC读写EEPROM进行详解。
对于初学者来说,感觉IIC很复杂,时许逻辑很绕,无从下手。感觉很多概念不理解,但是不要慌,此文给你详解。
上来不多说,直接贴代码!
void eeprom_page_write(uint8_t* p_buffer, uint8_t write_address, uint8_t number_of_byte)
{
/* wait until I2C bus is idle */
while(i2c_flag_get(I2C0, I2C_FLAG_I2CBSY));
/* send a start condition to I2C bus */
i2c_start_on_bus(I2C0);
/* wait until SBSEND bit is set */
while(!i2c_flag_get(I2C0, I2C_FLAG_SBSEND))