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也正常了,应该是进位操作和有符号数引发的 ...

谢谢大佬,我尝试一下这个
页: 1 [2] 3
查看完整版本: 使用ai801u通过硬件i2c沟通外部adc采集电压信号,最终将数据通过usb传入pc端 后续