PIC18F K83系列单片机I2C读写EEPROM

[复制链接]
2175|14
 楼主| huangchui 发表于 2021-8-14 10:00 | 显示全部楼层 |阅读模式
本人正在使用PIC18F26K83的I2C读写24LC系列EEPROM,指定地址读出总是无法实现
jiajs 发表于 2021-8-14 10:02 | 显示全部楼层

你有什么打算呢?或者你想知道什么?
 楼主| huangchui 发表于 2021-8-14 10:05 | 显示全部楼层
以前用过其他18F单片机的MSSP读写过,没有问题,但是换到K83以后,直接玩不转了,太难了!
juventus9554 发表于 2021-8-14 10:07 | 显示全部楼层
MCC生成的代码没有文档
juventus9554 发表于 2021-8-14 10:08 | 显示全部楼层
这个跟芯片型号有什么关系??一点关系都没..
supernan 发表于 2021-8-14 10:12 | 显示全部楼层
通过I2C读外部EEPROM, 你拿示波器量一下波形, 看看是I2C没发出来波形?
zhanghqi 发表于 2021-8-14 10:17 | 显示全部楼层
还是I2C地址搞错了?
jiahy 发表于 2021-8-14 10:18 | 显示全部楼层
还是EEPROM没有ACK?
llljh 发表于 2021-8-14 10:21 | 显示全部楼层

第一步先看地址字节后面有没有ack, 没有后面都是白扯.
 楼主| huangchui 发表于 2021-8-14 10:22 | 显示全部楼层
芯片型号不一样,实现的方式不一样,寄存器设置也不一样。
zhenykun 发表于 2021-8-14 10:24 | 显示全部楼层
现在实现当前地址读,就是不指定特定地址的读没有问题。
xxrs 发表于 2021-8-14 10:27 | 显示全部楼层
但是当指定地址以后,得不到EEPROM的ACK,有时候I2C的S位还不自动清零。
yinxiangh 发表于 2021-8-14 10:29 | 显示全部楼层
后来在发送完两个地址字节后,加入了一段延时,得到ACK了,然后就可以了。
zyf部长 发表于 2021-8-14 10:30 | 显示全部楼层
但是后来把这段代码封装成一个函数在main()中调用时又出现了前面的状况,总之给人感觉很不稳定。
 楼主| huangchui 发表于 2021-8-14 10:32 | 显示全部楼层
所以现在的问题是:
在main()函数中正常运行的程序,为什么换成程序调用就不行了呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

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