#include "HW_MCUIO.h"//#include "stm32f4xx_hal.h" #include "platform.h" #include "function.h" #define I2C_PORT GPIOB #define I2C_SCK GPIO_PIN_8// GPIO_PIN_6 #define I2C_SDA GPIO_PIN_9// GPIO_PIN_7 /* This i2c driver from stm32F1xx; we should add delay when operation io, because the stm32F4 much fast (The main frequency of stm32F4xx is 168M) !! F4系列速度太快,需要加延时,读写才正常!!!*/ static void i2c_delay(unsigned short dy) { unsigned short i; for(i=0;i>8); i2c_send_byte(addr); for(i=0;i= (len-offset) ){ cur_len = len-offset; } else{ cur_len = cur_len; } i2c_start(); i2c_send_byte(0xA0); i2c_send_byte((addr+offset)>>8); i2c_send_byte(addr+offset); for(i=0;i=len) break; }while(1); #endif } /* */ unsigned char EE_ReadBytes(unsigned int addr,unsigned char *pdata,unsigned char len) { unsigned char i; i2c_start(); i2c_send_byte(0xA0);//write i2c_send_byte(addr>>8); i2c_send_byte(addr); i2c_start(); i2c_send_byte(0xA1);//read for(i=0;i