STM32 I2C(SPI)读写EEPROM,官方对STM32F4xx_HAL_Driver库应用扩展的例子

在ST官网下载了一个I2C读写EEPROM的例子,MDK5和IAR都能打开,并且有图纸、详尽的说明文件,这个文档作为STM32F4xx_HAL_Driver库的补充,既然官方发布了补充文档,说明之前的文档存在不足,此补充文档是否能全面解决网上流传的I2C的所谓BUG ?有测试过的老师,希望多多交流!

文档大家可以到ST官网自行下载(需通过注册验证):
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/stm32-nucleo-expansion-boards/x-nucleo-eeprma1.html?icmp=tt11080_gl_bn_mar2019
本网站下载资源(系统强制5积分):
https://download.csdn.net/download/qq_33787896/11126334

拷贝贴出部分代码如下:

/* Private macros ------------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
EEPROMEX_StatusTypeDef M24_i2c_Init( void );
EEPROMEX_StatusTypeDef M24_i2c_DeInit( void );
EEPROMEX_StatusTypeDef M24_i2c_IsDeviceReady( const uint32_t Trials );
EEPROMEX_StatusTypeDef M24_i2c_ReadByte( uint8_t * const pData, const uint32_t TarAddr, const uint16_t TargetName);
EEPROMEX_StatusTypeDef M24_i2c_ReadPage( uint8_t * const pData, const uint32_t TarAddr, const uint16_t PageSize );
EEPROMEX_StatusTypeDef M24_i2c_ReadData( uint8_t * const pData, const uint32_t TarAddr, const uint16_t TargetName ,const uint16_t NbByte);
EEPROMEX_StatusTypeDef M24_i2c_WriteByte( const uint8_t * const pData, const uint32_t TarAddr,const uint16_t TargetName);
EEPROMEX_StatusTypeDef M24_i2c_WritePage( const uint8_t * const pData, const uint32_t TarAddr,const uint16_t DeviceAddr,const uint16_t PageSize,const uint16_t NByte);
EEPROMEX_StatusTypeDef M24_i2c_WriteData( const uint8_t * const pData, const uint32_t TarAddr, const uint16_t TargetName, const uint16_t PageSize, const uint16_t NbByte );
EEPROMEX_StatusTypeDef M24_i2c_WriteID( const uint8_t * const pData, const uint32_t TarAddr,const uint16_t PageSize,const uint16_t TargetName, const uint16_t NbByte );
EEPROMEX_StatusTypeDef M24_i2c_ReadID( uint8_t * const pData, const uint32_t TarAddr,const uint16_t PageSize,const uint16_t TargetName, const uint16_t NbByte );
EEPROMEX_StatusTypeDef M24_i2c_LockID( const uint16_t TargetName );  
EEPROMEX_StatusTypeDef M24_i2c_LockStatus( uint8_t * const pData, const uint16_t TargetName );
/* Global variables ---------------------------------------------------------*/
/** @defgroup M24_Global_Variables
  * @{
  */

EEPROMEX_DrvTypeDef M24_i2c_Drv =
{
  M24_i2c_Init,
  M24_i2c_DeInit,
  M24_i2c_IsDeviceReady,
  NULL,
  NULL,
  M24_i2c_ReadByte,
  M24_i2c_WriteByte,
  M24_i2c_ReadPage,
  M24_i2c_WritePage,  
  M24_i2c_ReadData,
  M24_i2c_WriteData,
  M24_i2c_WriteID,
  M24_i2c_ReadID,
  M24_i2c_LockID, 
  M24_i2c_LockStatus,
  NULL
};``

你可能感兴趣的:(STM32 I2C(SPI)读写EEPROM,官方对STM32F4xx_HAL_Driver库应用扩展的例子)