FrostShimmer 发表于 2025-10-28 10:06

在使用I2C从模式接收数据时,少一个字节

在使用E030做SMBus从接收数据时少了一个字节,没有收到结尾的PEC校验数据。中断状态都可以get到,系统也没有卡死。这个会是哪里的问题?大家有遇到吗?

szt1993 发表于 2025-10-29 15:35

确定是少i了?是不是与时序数量有关系

发光的梦 发表于 2025-11-1 21:50

是不是接收中断有溢出的情况?

天鹅绒星星 发表于 2025-11-2 17:35

接收中断函数查查吧!
人家设计的肯定没有问题

观星者宁静 发表于 2025-11-3 11:28

I2C的中断频率高,要把其中断优先级配置尽量高才可以。
对于master模式要使用DMA方式。

星云狂想曲 发表于 2025-11-4 14:17

是不是接收到stop后需要再读一次data寄存器。

minzisc 发表于 2025-11-5 10:35

接收缓冲区的大小不足以容纳所有数据。

albertaabbot 发表于 2025-11-5 12:18

从机在收到最后一个字节前错误地关闭了接收

mickit 发表于 2025-11-5 13:40

接收缓冲区 是否足够大?            

亿年回响 发表于 2025-11-5 17:02

楼主不要收到stop中断就退出I2C的序列,要等待总线释放才可以的。

pentruman 发表于 2025-11-5 17:29

丢失最后一个字节?            

alvpeg 发表于 2025-11-5 19:28

使用示波器或逻辑分析仪捕获SDA/SCL波形

claretttt 发表于 2025-11-6 21:38

使用中断方式接收I2C数据?            

天体书记 发表于 2025-11-7 17:32

看看是不是最后一次的中断触发流程未做对

deliahouse887 发表于 2025-11-8 14:36

根据I2C协议,主机每发送一个数据字节,从机都必须回复一个ACK

adolphcocker 发表于 2025-11-8 20:53

I2C总线上的硬件问题            

tifmill 发表于 2025-11-9 07:57

有没有可能因为指针错误导致数据被覆盖或读取错误?

maudlu 发表于 2025-11-9 11:07

NACK应该只在从机无法处理当前数据

louliana 发表于 2025-11-9 16:28

从机在最后一个数据字节后发送了NACK

GalaxyStroll 发表于 2025-11-10 11:01

楼主 如果对I2C时序或事件处理需要更多资料,可以参考其它型号或者竞品的Reference。里面有更详细的说明。
页: [1] 2
查看完整版本: 在使用I2C从模式接收数据时,少一个字节