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

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

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

5

主题

32

回帖

127

积分

注册会员

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

谢谢大佬,真的太感谢了,成功了
回复

使用道具 举报 送花

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

5

主题

32

回帖

127

积分

注册会员

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

太感谢您了,这个事情困扰了我太久了
回复

使用道具 举报 送花

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

5

主题

32

回帖

127

积分

注册会员

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

如果可以的话可以麻烦大佬给我讲解一下吗?我属于是半道出家,这个涉及底层一些的问题真的就是在知识范围外了,这几天实在是非常感谢您和其他几位大佬相助,太高兴了

点评

客气了,我也是现学现卖的,这种字节拼接操作一般用无符号数操作碰不到这种问题,也是下午调试才反应过来: 通过汇编代码看,|=操作时,将char类型提升为四字节类型|=的,也就是说当符号位为1时,前三个字节全是0xF  详情 回复 发表于 6 天前
回复

使用道具 举报 送花

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

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 6 天前 | 显示全部楼层
youzai*** 发表于 2025-8-18 18:09
如果可以的话可以麻烦大佬给我讲解一下吗?我属于是半道出家,这个涉及底层一些的问题真的就是在知识范围 ...

客气了,我也是现学现卖的,这种字节拼接操作一般用无符号数操作碰不到这种问题,也是下午调试才反应过来:

通过汇编代码看,|=操作时,将char类型提升为四字节类型|=的,也就是说当符号位为1时,前三个字节全是0xFF,所以当第三个字节为有符号值时,重刷了前两个字节
这也是为什么我第一次测试首字节为00,你的首字节为0xFF,因为0x14无符号位。

截图202508181844412348.jpg

截图202508181845136961.jpg
截图202508181846407988.jpg

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 18:46
客气了,我也是现学现卖的,这种字节拼接操作一般用无符号数操作碰不到这种问题,也是下午调试才反应过来 ...

有点明白了大佬,就是每次拼接的时候,如果字节是带有符号的或者说变量是有符号的变量,那就会触发将前面的字节刷新为FF的操作,所以我每次得到的数据才会将高位覆盖为FF,但是低位却不会被覆盖
回复

使用道具 举报 送花

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

5

主题

32

回帖

127

积分

注册会员

积分
127
发表于 6 天前 | 显示全部楼层
erci*** 发表于 2025-8-18 18:46
客气了,我也是现学现卖的,这种字节拼接操作一般用无符号数操作碰不到这种问题,也是下午调试才反应过来 ...

太谢谢您了

点评

不客气,能用无符号的地方尽量优先用无符号数,有符号就要考虑进位。  详情 回复 发表于 6 天前
回复

使用道具 举报 送花

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

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 6 天前 | 显示全部楼层

不客气,能用无符号的地方尽量优先用无符号数,有符号就要考虑进位。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 05:24 , Processed in 0.121446 second(s), 88 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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