查看oled.c,可以看到是模拟iic,这些都可以注释不要,我们使用的是iIC,不是模拟。 HAL_I2C_Mem_Write() IIC写固定的设备写入数据。 记得导入#include "i2c.h" 将HAL_I2C_Mem_Write函数放入oled.c中。 例如将Write_IIC_Command函数修改为HAL_I2C_Mem_Write发送方式。 向0x78设备写命令0x00的IIC_Command指令。
它的 I2C 外设还支持 SMBus2.0 协议,SMBus 协议与 I2C 类似,主要应用于笔记本电脑的电池管理中。 二、引脚分布 STM32 芯片有多个 I2C 外设,它们的 I2C 通讯信号引出到不同的 GPIO 引脚上,使用时必须配置到这些指定的引脚。PB8 PB9 为重映射。 三、EEPROM芯片 开发板中的 EEPROM 芯片型号:AT24C02。AT24C ...
我用stm32f3 的PB8 (I2C1_SCL)和PB9(I2C1_SDA)模拟i2c,结果调试了好几天硬件的没有搞定,想用软件模拟,看时序感觉没问题,可是写地址后24c08没有应答信号,但是读 h1654155957.9572 2018-10-10 08:41:36 I2C总线系统中引起电压失常的原因和检修方法 I2C总线系统传送的是脉冲数字信号,总线上要传送少则十几项...
PB6,PB7,大概也可以的。PB1,PB11 也没发现与FSMC冲突。两个独立I2C哦,还有映射,总能找到合适的...
#define IIC_SCL GPIO_Pin_8//以PB8、PB9作为I2C模拟线 #define IIC_SDA GPIO_Pin_9 //设置端口...
本文I2C2_SDA=I2C1_SDA;I2C2_SCL=I2C1_SCL,也就是所有传感器共用I2C的传统模式,没有采用hub模式。 二、 STM32CubeMX配置 2.1 STM32Cube的传感器和运动算法软件扩展包安装 2.2 建立工程 Start My Project from ST Board并选择 NUCLEO-L476RG。 2.3配置 主要是PB8/PB9作为I2C以及PB0/PB4/PB5/PB10/PC1作为...
本人遇到的现象:在习惯使用的(SWI2C / HWI2C)@(PB8->SCL PB9->SDA)连接OLED的情况下,大多数情况使用江科大的SWI2C,一切正常。 今天跑某开源基于u8g2库的UI框架 WouoUI(HWI2C)@(PB6->SCL PB7->SDA) 遇到了一旦连接OLED的正负极跳线就会导致STM32卡死的现象。意识到可能这就是传说中的标准库 I2C Bug...
软件I2C是指用普通GPIO口,手动(软件)翻转电平实现协议,并不需要STM32内部的外设资源支持,所以GPIO端口可以任意指定,这里SCL是PB10,SDA是PB11。只需要用到GPIO的函数,用不到配置I2C的库函数。硬件电路不需要上拉电阻了,因为芯片内部已经自带了。 广告 MB-102 面包板+电源模块+65条面包板线 连接线实验板洞 拼多多...
一、I2C协议简介 I2C通讯协议 (Inter-Integrated Circuit,读作I平方C、I方C) 是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路间的通讯。 1. 物理层 (感谢