ercircle
发表于 6 天前
youzaixiaoya 发表于 2025-8-18 16:14
大佬好,我上传了一个压缩包,里面是代码,原理图我稍后再上传
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显示0xFF,代码是否最新代码呢?
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...
大佬好,请问是说我前面采集结果里的FF吗
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...
代码确实为最新代码,我重新打包一份发给大佬哈,这个压缩包是我昨天前天打包完要带回去修改的,没有其他修改
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...
大佬,我反复看过了,应该是没有差别的,我最新的修改就是 I2CCFG = 0XFF; //使能I2C主机模式 此处应当是控制速度
I2CPSCR = 0xFF; //时钟分频寄存器
I2CMSST = 0x00; 将时钟拉到最慢,如果您手上那份也是这个配置的话,就是最新代码
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...
另外我的猜想是,我输入给usb暂存的寄存器,是不是我没有给他清零?因为我之前可能有过给USB写入FF的操作,但那是其他程序的
ercircle
发表于 6 天前
youzaixiaoya 发表于 2025-8-18 17:12
大佬,我反复看过了,应该是没有差别的,我最新的修改就是 I2CCFG = 0XFF; //使能I2C主机模式 此处 ...
我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。
然后替换上篇帖子推荐的例程代码读取I2C可以正常读取。
楼主试下修改后的代码,我找下问题在哪。
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 17:24
我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。
然后替换上篇帖子推荐的例程代码读取I2C可 ...
非常非常感谢大佬,我需要去一趟实验室做验证,辛苦了辛苦了
ercircle
发表于 6 天前
youzaixiaoya 发表于 2025-8-18 17:32
非常非常感谢大佬,我需要去一趟实验室做验证,辛苦了辛苦了
将 ADC_ReadData、Data、IIC_ReceiveByte全改为无符号unsigned也正常了,应该是进位操作和有符号数引发的异常
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 17:24
我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。
然后替换上篇帖子推荐的例程代码读取I2C可 ...
大佬好,修改完的代码运行后是这样子,并且SDA和SCL引脚没有响应,LED灯没有亮起
youzaixiaoya
发表于 6 天前
ercircle 发表于 2025-8-18 17:55
将 ADC_ReadData、Data、IIC_ReceiveByte全改为无符号unsigned也正常了,应该是进位操作和有符号数引发的 ...
谢谢大佬,我尝试一下这个