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
};``
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

qq_33787896

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值