野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10074|回复: 3

I2C有个地方调不出来啊啊啊啊

[复制链接]
发表于 2017-3-28 16:17:56 | 显示全部楼层 |阅读模式
如图所示,程序中注释掉的部分,我的疑问是为什么注释掉就会跑死,不注释才能正常运行。。。我本想while检测语句之后,既然已经得到了EEPROM的应答,那么后面直接发数据不就好了么,为什么还要clear、stop
捕获.PNG
回复

使用道具 举报

发表于 2017-3-28 17:47:14 | 显示全部楼层
读过程需要两次发送设备地址,具体看视频
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-29 08:58:52 | 显示全部楼层
flyleaf 发表于 2017-3-28 17:47
读过程需要两次发送设备地址,具体看视频

我这个就是根据视频写的,只是我把等待的函数拆开放在读函数里面了。在while循环里面发送了一次设备地址,循环外也发了一次的,不知道这样为什么不行,一定要等待函数执行以后把所有状态清零,然后重新开始一次读过程才能正确读取,为啥不能把等待函数作为读函数的一部分,实际上while等待函数已经发送一次设备地址了,设备也应答了,这时候直接发内存地址不就行了吗,我仿真时就卡在send之后的while循环里,不知道哪里理解错了。。
回复 支持 反对

使用道具 举报

发表于 2017-3-29 13:55:39 | 显示全部楼层
Kevin318 发表于 2017-3-29 08:58
我这个就是根据视频写的,只是我把等待的函数拆开放在读函数里面了。在while循环里面发送了一次设备地址 ...

我也没理解你的思路,总之按照我们例程那样的读顺序就可以啊,你分多少个函数都一样,只要确保流程都是这样就行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-21 10:54 , Processed in 0.031088 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表