GD32+EEPROM(IO)

一、测试环境

1.芯片:GD32F10x

2.EEPROM:BL24CM1A

3.SCL引脚:推完输出(硬件没上拉)

4.SDA引脚:浮空输入(硬件没上拉)

二、功能

1.使用IO模拟的方式,实现读写EEPROM;

三、问题描述

1.很久没有调试IIC(模拟),程序移植完成之后,进行校验时(固定地址读写数据),读到的数据一直时0.

四、排查

1.使用示波器查看,波形没有突变,高低电平时间大于EEPROM芯片数据手册提供的“最低高低电平保持时间”;

2.使用示波器查看,所有波形对应正确,在读的阶段,波形确实是低电平;

----结论:程序没有解析错误。

3.更换EEPROM硬件,示波器查看,波形没有变化;

------结论:EEPROM硬件正常。

五、确认问题

1.最终查看硬件原理图,同时配合PCB板,发现SCL、SDA引脚的上拉电阻没焊接;⊙﹏⊙∥

2.添加上拉电阻后,问题解决

六、额外:SDA配置为上拉输入

1.测试,在SCL、SDA引脚的上拉电阻不焊接,SDA配置为上拉输入时,同样可以读写正确;

2.但是通过示波器查看,读取数据时的SDA电平最高只有2.3v左右(没有拉到最高3.3v);为防止产生的风险,通过上拉来提高高电平;

六、代码

GD32_IIC(IO)_EEPROM.rar-其它文档类资源-CSDN下载

上一篇:Linux多线程编程--学习笔记


下一篇:Java JSON、XML文件/字符串与Bean对象互转解析