STM32F107VCTx I2C通信

一、Cube设置

第一章Cube设置
相比第一章的新增加的设置
1.Pinout&Configuration—>System Core—>GPIO : PB0—>_Output 用一个LED灯进行测试
2.Pinout&Configuration—>Connectivity—>USART1 :Mode—>Asynchronous(异步)
然后PB6—>USART1_Tx
PB7—>USART1_Rx
3.Pinout&Configuration—>Connectivity—>I2C1:Mode—>选择I2C
PB8—>I2C1_SCL
PB9—>I2C1_SDA (这些引脚选择要依据原理图)

二、概述

I2C是同步、串行、半双工通信,总线有两根双向信号线,一根是数据线SDA、另一根是时钟线SCL。
EEROM、智能传感器、OLED显示器
节约线路布线 只需要RCC GND SDA SCL

I2C轮询方式对寄存器读写数据
HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)

*hi2c: I2C设备号指针,这里用的是I2C1: &hi2c1
DevAddress: 设备地址
MemAddress: 寄存器地址
MemAddSize: 寄存器长度
*pData: 数据指针
Size: 数据长度
Timeout: 超时时间

三、代码

链接:https://pan.baidu.com/s/1nMJo2lQ4bSgNbIWWTqV0Fg
提取码:khg0

你可能感兴趣的:(STM32F107VCTx I2C通信)