如何通过 i2c 在一个程序命令中放入超过 64 个字节?

发布于 2025-01-11 18:38:11 字数 97 浏览 0 评论 0原文

我正在尝试构建一个可以使用 IIc 对其他板进行编程的程序。

问题是,我需要发送大约一万个字节,这将需要超过数百个程序命令。 有什么方法可以不发出数百个程序命令..?

i am trying to build a program which can program other board using IIc.

problem is, i need to send like ten thousands of bytes which will going to need more than hundreds of program command.
will there be any ways to not to make hundreds of program command..?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何处潇湘 2025-01-18 18:38:11

i2c 总线上的数据大小没有固有的限制,但您将受到您正在使用的库和/或所使用的硬件的限制。 i2c 总线上可能还存在限制每条消息的数据大小的覆盖协议。

这个问题的信息太少,无法给出更好的答案。您能否列出您正在使用的硬件和库。

一般来说,以某种块的形式发送数据会更好/更容易,其中大小是传输时间和处理容易程度之间的权衡。您需要对数据包进行校验和以确保传输成功。那么最好尽早意识到出现了问题,并且没有意识到当所有数据都已传输时,所有数据都需要重新发送,因为第一个字节已损坏。

There is no inherent limit to the data size on the i2c bus but you will be limited by the library you are using and/or the hardware that is used. There might also be an overlaying protocol on the i2c bus that limits the data size per message.

There is too little information in this question to give a better answer. Can you please list what HW you are using and what libraries.

Generally it's better/easier to send the data in some sort of chunks where the size is a tradeoff between time to transfer and how easy it is to handle. You will want to have checksums on your data packets to make sure the transfer was successful. Then it better to realize early that something went wrong and not realize when all the data has been transferred that everything need to be sent again because the first byte was corrupt.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文