STM32F767+STM32CubeMX I2C通信读写EEPROM数据(采用轮询、DMA、中断三种方式)
STM32F767+STM32CubeMX I2C通信读写EEPROM数据(采用轮询、DMA、中断三种方式) 摘要-前言 作为一名STM32的初学者,在学习过程中会遇到很多问题,解决过程中会看到很多博主发过的文章,每次都是零零总总的学习各个大牛的经验。但时间久了就会忘记其中的一些关键点,所以才有了把自己解决问题的过程记录下来的想法,日后回忆起也很方便。 前人们做过很多STM32 I2C通信的努力,但大多都是基于STM32F0、F1、F4这些系列的板子,而众所周知不同系列之间还是有不同的,这就导致初学者学习STM32时,会遇到很多困难。另外 I2C通信很多人采取的是软件模拟实现,对硬件并不看好。但是毕竟这么多年过去了,HAL库及CubeMX的出现,能够很大程度上解决I2C宕机的问题。所以本文除了讲解CubeMX I2C通信以外,也顺便做了实验来验证I2C的实际效果。 硬件设施:正点原子STM32F676阿波罗开发板 IDE:KEIL5 STM32CubeMX:5.4.0 STM32CubeMX Firmware Package Name and Version:STM32Cube FW_F7 V1.15.0 Keil STM32F767芯片包:Keil.STM32F7xx_DFP.2.12.0 EEPROM:24C02 I2C2-SCL:PH4 I2C2-SDA:PH5 轮询方式