[STM32F0] 用F0模拟I2C跑OLED,第一帧老是乱码

[复制链接]
 楼主| 万图 发表于 2025-5-20 07:24 | 显示全部楼层 |阅读模式
手动模拟的I2C时序,初始化后第一帧OLED总是花屏,第二帧又能恢复,奇怪。
Clyde011 发表于 2025-5-20 07:29 | 显示全部楼层
把第一帧用调试打印出来看看。
公羊子丹 发表于 2025-5-20 07:31 | 显示全部楼层
初始化序列不完整也可能这样。
周半梅 发表于 2025-5-20 07:31 | 显示全部楼层
我以前写模拟I2C时序老出错。
帛灿灿 发表于 2025-5-20 07:32 | 显示全部楼层
是不是ACK检测那块逻辑写得太死?
童雨竹 发表于 2025-5-20 07:33 | 显示全部楼层
有的OLED对时序特别敏感。
 楼主| 万图 发表于 2025-5-20 07:34 | 显示全部楼层
Pull-up电阻有没有接?
Wordsworth 发表于 2025-5-20 07:35 | 显示全部楼层
多发几帧试试看是不是缓存问题。
Bblythe 发表于 2025-5-20 07:36 | 显示全部楼层
有没有检查I2C起始和结束条件?
Pulitzer 发表于 2025-5-20 07:36 | 显示全部楼层
模拟I2C建议加点延时,别跑太快。
Uriah 发表于 2025-5-20 07:38 | 显示全部楼层
初始化命令不要一次发太多。
onlycook 发表于 2025-5-20 15:49 | 显示全部楼层
I2C信号线受干扰或未正确连接?
duo点 发表于 2025-5-20 15:57 | 显示全部楼层
第一帧乱码的核心原因通常与硬件连接、初始化时序或I2C通信协议有关。
flycamelaaa 发表于 2025-5-20 18:07 | 显示全部楼层
上拉电阻选择不当?
classroom 发表于 2025-5-20 18:40 | 显示全部楼层
帧缓冲区未清零,显示内存中残留旧数据,导致第一帧乱码。
powerantone 发表于 2025-5-20 21:12 | 显示全部楼层
OLED未完全初始化完成就发送数据可能导致乱码。
stormwind123 发表于 2025-5-20 22:23 | 显示全部楼层
初始化命令顺序可能有错误。
probedog 发表于 2025-5-20 23:00 | 显示全部楼层
可能是未执行硬件复位导致的。
hehhehee 发表于 2025-5-31 17:38 | 显示全部楼层
OLED模块内部或者显示缓存有残留数据,初始化时没有清零导致第一帧花屏。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

152

主题

5795

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

152

主题

5795

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部