1. 实验简介

本实验通过 STM32F103 控制器,利用 I2C 总线读取 DS3232 高精度实时时钟芯片的时间和温度数据,并将其实时刷新显示在 128x64 的 OLED 屏幕上,此处使用同一个I2C接口。
请添加图片描述

2. Proteus 仿真电路设计(关键)

在 Proteus 中,I2C 设置为“开漏”通讯,必须手动添加上拉电阻,否则 SDA 和 SCL 电平将永远为蓝色(未知/低电平),导致程序卡死在 I2C_CheckAck。
禁止使用普通电阻(RES): 普通的 RES 在仿真中往往被视为纯负载,不具备数字逻辑拉升作用。
必须使用 PULLUP 原件:在元件库搜索 “PULLUP”。
将两个 PULLUP 电阻分别连接到 I2C 的 SCL 和 SDA 线上。
电阻另一端统一连接至 VCC (3.3V)。

3. 参考程序

https://gitee.com/lzx-git-lib/I2c-Multi-Device-Connection-Experiment.git

更多推荐