你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 用普通IO口驱动24C02问题?

[复制链接]
qazplm3218 提问时间:2019-5-31 09:13 /
以下24C02的驱动好像不稳定,不更换24C02时,读写都正确,但是更换一个24C02,数据就读写不正确,在把之前的正常的24C02重新焊上去,也读写不正确,我已确认过24C02肯定是没问题的,硬件也没问题,请高手看看到底是那个出现了问题?驱动程序是我在当时AVR单片机移植过来的。
驱动程序请看附件。。






at24c02.pdf

下载

49.63 KB, 下载次数: 10, 下载积分: ST金币 -1

收藏 评论10 发布时间:2019-5-31 09:13

举报

10个回答
七哥 回答时间:2019-5-31 09:50:42
本帖最后由 toofree 于 2019-5-31 09:54 编辑

如果24C02没问题的,硬件也没问题,那就还是程序问题。
IO必须用OD模式,不需要切换方向,只需要输出1即可从输入寄存器读回实际IO的输入状态。注意IO的默认输出状态是0还是1,默认配置为全输入状态;如果要输出的话,首先全输出1,然后再按照I2C的流程来;如果只挂一个I2C设备的话,不涉及I2C总线锁死的问题。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

CC4 回答时间:2019-5-31 10:45:16
toofree 发表于 2019-5-31 09:50
如果24C02没问题的,硬件也没问题,那就还是程序问题。
IO必须用OD模式,不需要切换方向,只需要输出1即可 ...

为什么不用切换方向呢??我记得IIC通信时,SDA方向很重要呀

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

七哥 回答时间:2019-5-31 11:50:58
select326 发表于 2019-5-31 10:45
为什么不用切换方向呢??我记得IIC通信时,SDA方向很重要呀

不需要再解释了吧,这句话看到句号那里了吗?
qazplm3218 回答时间:2019-5-31 12:47:34
toofree 发表于 2019-5-31 09:50
如果24C02没问题的,硬件也没问题,那就还是程序问题。
IO必须用OD模式,不需要切换方向,只需要输出1即可 ...

我的程序就是没有切换IO口方向的,直接读回输入寄存器实际IO的输入状态。如果加了IO口切换方向后,读写都不能成功
CC4 回答时间:2019-6-4 10:40:27
我还很菜,没有理解。看原子的程序中,就有方向切换的代码。那就没有问题。否则就不能成功。。。
qazplm3218 回答时间:2019-6-4 11:02:05
select326 发表于 2019-6-4 10:40
我还很菜,没有理解。看原子的程序中,就有方向切换的代码。那就没有问题。否则就不能成功。。。 ...

你好,程序能发我看看吗??
废鱼 回答时间:2019-6-4 11:11:00
楼主用模拟I2C即可,实在确定不了的问题使用示波器或者逻辑分析仪进行数据分析。要学会使用工具判断是程序问题,还是焊接问题。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

edmundlee 回答时间:2019-6-4 13:03:40
本帖最后由 edmundlee 于 2019-6-4 13:08 编辑

用模拟I2C时, 有两种方法
1, SDA 配置为OD 外加上拉电阻, 无需切换IO方向
2, SDA 配置为PP 外加上拉电阻, 接收时需要切换IO方向

而楼主是属于错误的第三种方法
你说之前用的24C02是可以的, 那可以告诉你的, 它(之前的24C02)之所以行, 是因为它在读取ACK时,它把一输出为高的IO硬生生的把它拉低,这种情况等同于两个输出的IO, 一个输出高另一个输出低, 接一块, 结果是高是低那是看运气吧

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

五哥1 回答时间:2019-6-4 15:59:44
本帖最后由 五哥1 于 2019-6-4 16:01 编辑

建议用现成原子的程序测试下,然后再这个基础上改。 尤其是那个检测24c02是否工作的程序。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

qazplm3218 回答时间:2019-6-5 13:23:30
edmundlee 发表于 2019-6-4 13:03
用模拟I2C时, 有两种方法
1, SDA 配置为OD 外加上拉电阻, 无需切换IO方向
2, SDA 配置为PP 外加上拉电阻 ...

谢谢您,我在测试下

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版