找回密码
 立即注册
楼主: youzaixiaoya

使用ai801u通过硬件i2c沟通外部adc采集电压信号,最终将数据通过usb传入pc端 后续

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 6 天前 | 显示全部楼层
youzai*** 发表于 2025-8-18 16:14
大佬好,我上传了一个压缩包,里面是代码,原理图我稍后再上传

读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显示0xFF,代码是否最新代码呢?
截图202508181649261949.jpg

截图202508181650465529.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...

大佬好,请问是说我前面采集结果里的FF吗
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...

代码确实为最新代码,我重新打包一份发给大佬哈,这个压缩包是我昨天前天打包完要带回去修改的,没有其他修改
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...

大佬,我反复看过了,应该是没有差别的,我最新的修改就是        I2CCFG = 0XFF;                                //使能I2C主机模式                                此处应当是控制速度
        I2CPSCR = 0xFF;                                //时钟分频寄存器
        I2CMSST = 0x00;                                将时钟拉到最慢,如果您手上那份也是这个配置的话,就是最新代码

ADC最新代码.zip

130.21 KB, 下载次数: 0

点评

我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。 然后替换上篇帖子推荐的例程代码读取I2C可以正常读取。 楼主试下修改后的代码,我找下问题在哪。 [attachimg]112293[/attachimg] [attachimg]112294[/  详情 回复 发表于 6 天前
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 16:51
读取AT24C02,仅修改引脚切换和I2C地址:
看着没问题,有个小差异,第一个字节应为00,为什么1L日志里显 ...

另外我的猜想是,我输入给usb暂存的寄存器,是不是我没有给他清零?因为我之前可能有过给USB写入FF的操作,但那是其他程序的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 6 天前 | 显示全部楼层
youzai*** 发表于 2025-8-18 17:12
大佬,我反复看过了,应该是没有差别的,我最新的修改就是        I2CCFG = 0XFF;                                //使能I2C主机模式                                此处 ...

我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。

然后替换上篇帖子推荐的例程代码读取I2C可以正常读取。
楼主试下修改后的代码,我找下问题在哪。
验证ai8051u通信结果-改.zip (154.94 KB, 下载次数: 1)
截图202508181721191724.jpg

截图202508181722381599.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 17:24
我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。

然后替换上篇帖子推荐的例程代码读取I2C可 ...

非常非常感谢大佬,我需要去一趟实验室做验证,辛苦了辛苦了

点评

将 ADC_ReadData、Data、IIC_ReceiveByte全改为无符号unsigned也正常了,应该是进位操作和有符号数引发的异常  详情 回复 发表于 6 天前
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 6 天前 | 显示全部楼层
youzai*** 发表于 2025-8-18 17:32
非常非常感谢大佬,我需要去一趟实验室做验证,辛苦了辛苦了

将 ADC_ReadData、Data、IIC_ReceiveByte全改为无符号unsigned也正常了,应该是进位操作和有符号数引发的异常


验证ai8051u通信结果-unsigned.zip (139.02 KB, 下载次数: 1)
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 17:24
我把从机数据改为B3 89 C0 , 用楼上这个工程可以复现异常。

然后替换上篇帖子推荐的例程代码读取I2C可 ...

截图202508181757096686.jpg

大佬好,修改完的代码运行后是这样子,并且SDA和SCL引脚没有响应,LED灯没有亮起
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-08-18 12:23:08
已绑定手机

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 17:55
将 ADC_ReadData、Data、IIC_ReceiveByte全改为无符号unsigned也正常了,应该是进位操作和有符号数引发的 ...

谢谢大佬,我尝试一下这个
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-24 01:25 , Processed in 0.155599 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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