如何解决Raspberry Pi 4:Python3 smbus2 在所有 I2C 数据写入前添加 0x00
我有 C 和 Python3 代码,基于互联网上的简单示例,我可以在其中正确地将数据从我的 Raspberry Pi4 发送到 Atmel SAM-E70 开发套件板。我连接了一个逻辑分析器来查看正在发送的数据,对于我的 Python3 代码中的每个 i2c_write_data_block()
,smbus2 代码发送 7 位地址,然后是 0x00,然后是我发送的字节流想送。我的 C 代码发送相同的字节流,地址和数据之间没有 0x00。最后,使用 i2ctransfer()
从 shell 发送字节流也按预期工作:没有额外的字节。
假设,可能是 smbus2 包试图使用 10 位地址,但我找不到任何支持这种假设的文档。事实上,我发现的内容表明 I2C 总线配置是通过配置文件执行的,这会让我相信用于在 I2C 总线上进行通信的语言应该无关紧要 - 它具有相同的配置.
有没有其他人遇到过这种情况?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。