打印

指定地址读出总是无法实现

[复制链接]
2629|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stly|  楼主 | 2021-7-30 19:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
正在使用PIC18F26K83的I2C读写24LC系列EEPROM,指定地址读出总是无法实现

使用特权

评论回复
沙发
stly|  楼主 | 2021-7-30 19:46 | 只看该作者
以前用过其他18F单片机的MSSP读写过,没有问题,但是换到K83以后,直接玩不转了

使用特权

评论回复
板凳
jlyuan| | 2021-7-30 19:48 | 只看该作者
MCC生成的代码没有文档?

使用特权

评论回复
地板
juventus9554| | 2021-7-30 19:54 | 只看该作者
这个跟芯片型号有什么关系??

使用特权

评论回复
5
lium| | 2021-7-30 20:02 | 只看该作者
通过I2C读外部EEPROM, 你拿示波器量一下波形, 看看是I2C没发出来波形?

使用特权

评论回复
6
jiajs| | 2021-7-30 20:04 | 只看该作者
还是I2C地址搞错了?

使用特权

评论回复
7
chuxh| | 2021-7-30 20:05 | 只看该作者
还是EEPROM没有ACK?

使用特权

评论回复
8
renyaq| | 2021-7-30 20:07 | 只看该作者
第一步先看地址字节后面有没有ack, 没有后面都是白扯.

使用特权

评论回复
9
stly|  楼主 | 2021-7-30 20:09 | 只看该作者
芯片型号不一样,实现的方式不一样,寄存器设置也不一样。

使用特权

评论回复
10
zhenykun| | 2021-7-30 20:13 | 只看该作者
现在实现当前地址读,就是不指定特定地址的读没有问题。

使用特权

评论回复
11
stly|  楼主 | 2021-7-30 20:15 | 只看该作者
但是当指定地址以后,得不到EEPROM的ACK,有时候I2C的S位还不自动清零。

使用特权

评论回复
12
stly|  楼主 | 2021-7-30 20:17 | 只看该作者
后来在发送完两个地址字节后,加入了一段延时,得到ACK了,然后就可以了。

使用特权

评论回复
13
stly|  楼主 | 2021-7-30 20:20 | 只看该作者
但是后来把这段代码封装成一个函数在main()中调用时又出现了前面的状况,总之给人感觉很不稳定。

使用特权

评论回复
14
stly|  楼主 | 2021-7-30 20:22 | 只看该作者
在main()函数中正常运行的程序,为什么换成程序调用就不行了呢?

使用特权

评论回复
15
stly|  楼主 | 2021-7-30 20:25 | 只看该作者

多谢大家讨论这么多哈,呵呵

使用特权

评论回复
16
qcliu| | 2021-8-13 13:31 | 只看该作者
一直没有成功吗

使用特权

评论回复
17
gwsan| | 2021-8-13 14:11 | 只看该作者
使用普通的io口进行模拟

使用特权

评论回复
18
kxsi| | 2021-8-13 14:12 | 只看该作者
有木有返回错误码

使用特权

评论回复
19
nawu| | 2021-8-13 14:15 | 只看该作者
一开始设定地址了没有啊

使用特权

评论回复
20
tfqi| | 2021-8-13 14:19 | 只看该作者
一样的芯片寄存器的设置应该是一样的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

7058

帖子

0

粉丝