stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx

1.硬件清单

  • stm32103c8核心板一块
  • 24C256
  • DAP下载器(这个随自己的来)

2.打开CubeMx,创建相关工程

  • 先是rcc和sys的配置
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
  • I2C的配置,先说明I2C会有一个BUG,生成工程后可改。
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
  • 另外可配置串口,来观察是否通信成功
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
  • 时钟树的配置,就不啰嗦了,该怎么来就怎么来
  • 生成Keil 5工程
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx

3. 打开相关Keil 5工程

  • 先解决I2C的bug
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
  • main.c函数中添加以下代码,进行读写24C256操作和串口打印
    stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx

4.编译项目,下载到板子上,观察串口信息

stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx

5.完毕,这里只是以24C256来举个栗子,实际上同上面将I2C运用其他模块上,比如MPU6050等。代码在此