Image
Image

peripheral

+ 关注

粉丝 2     |     主题 32     |     回帖 438

STM32CubeMX_13 | 使用硬件I2C读写EEPROM(AT24C02)
2023-1-28 00:22
  • ST MCU
  • 43
  • 2700
  任意地址连续读多个字节 AT24C02连续读多个字节没有限制,直接读取即可,代码如下: ...  
  ......  
  任意地址连续写多个字节 AT24C02连续写字节的时候需要注意,不能使用写单个字节函数连续的写入,因为AT24C0 ...  
  测试结果如下:  
  测试字节读写函数 在main.c中测试:  
  编写的函数如下:  
  任意地址读一个字节 根据AT24C02的数据手册可知,AT24C02读一个字节的格式如下: ...  
  编写的函数如下:  
  任意地址写一个字节 根据AT24C02的数据手册可知,AT24C02写一个字节的格式如下: ...  
  然后在at24c02_i2c_drv.c中引入i2c.h,基于HAL提供的硬件IIC操作函数,编写AT24C02的一些底层函数,如下。 ...  
  首先在at24c02_i2c_drv.h中编写AT24C02相关的宏定义:  
  4. AT24C02驱动的编写 确定IIC器件地址 根据AT24C02的 Datasheet 可知AT24C02有2K bit,即256B,分为32页, ...  
  编写EEPROM驱动程序 EEPROM的驱动编写篇幅过多,单独分出来一节讲述。  
  重定向printf( )函数 参考:【STM32Cube_09】重定向printf函数到串口输出的多种方法。 https://bbs.21ic.co ...  
  3. 在MDK中编写、编译、下载用户代码 修改I2C初始化代码的小BUG  
  生成代码 点击GENERATE CODE即可生成MDK-V5工程:  
  代码生成设置 最后设置生成独立的初始化文件:  
  生成工程设置  
  配置时钟树 STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz即可:  
  接下来开始配置I2C接口1:  
2
3
近期访客