您尚未登录。

楼主 # 2023-05-27 20:23:56

chendong
会员
注册时间: 2019-07-22
已发帖子: 90
积分: 91

v3s i2c 传输一个大数组失败

大家好,我对一个芯片传输数据,好像数组一大就就报错,数组有9000多字节,传输就报这个错误:[    9.063047] twi_stop()483 - [i2c1] i2c state isn't idle(0xf8)
[    9.069504] sunxi_i2c_core_process()845 - [i2c1] STOP failed!
[    9.076040] sunxi_i2c_do_xfer()998 - [i2c1] incomplete xfer (status: 0x38, dev addr: 0x3b)
[    9.085342] ##### i2c_transfer addr  0xc000 , ret -70

难道内核对数据大小做了限制?有什么方法解决吗,谢谢。

最近编辑记录 chendong (2023-05-27 20:31:45)

离线

#1 2023-05-27 22:19:08

王小彬
会员
注册时间: 2023-04-24
已发帖子: 3
积分: 3

Re: v3s i2c 传输一个大数组失败

内核有没有限制我也不清楚,但是可以提供一点建议帮助您排查:

1. 是否有逻辑分析仪,抓个波形,解析一下,看是否每次都是在同一个位置 stop 失败?
2. 能否将数据分包多次发送,看是否可以改善?

离线

楼主 #2 2023-05-28 00:14:23

chendong
会员
注册时间: 2019-07-22
已发帖子: 90
积分: 91

Re: v3s i2c 传输一个大数组失败

王小彬 说:

内核有没有限制我也不清楚,但是可以提供一点建议帮助您排查:

1. 是否有逻辑分析仪,抓个波形,解析一下,看是否每次都是在同一个位置 stop 失败?
2. 能否将数据分包多次发送,看是否可以改善?

都是在那个大数组那个失败,有时候也能过去,失败居多。分包我也试过好像不行,分包第一个包要有寄存器地址和起始信号,但是不能有结束信号,后面的包不能有开始信号。这个咋设置

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn