1

我在 Google 上能找到的最好的东西是 Reed-Solomon 编码。但这似乎很激烈。

基本上,我正在与具有串行端口的小型资源受限设备通信。通过红外线进行通信;串行端口直接连接到红外编码器/解码器硬件,然后连接到红外收发器。

通信是半双工的。这是一个硬件限制,否则 IR 收发器会看到自己的传输。我与主机轮询并在客户端上使用中断来了解何时回传。

我遇到的问题是硬件对静电放电非常敏感。我已经采取了所有实际的硬件措施来减少这个问题,但它们还不够好;我现在正在研究软件问题。

任何人都可以建议任何错误恢复的实现,理想情况下不需要重新传输?

越简单越好。如果那里有免费的图书馆,那就更好了!

4

1 回答 1

2

If you don't want to use Reed-Solomon, how about Golay Encoding? Its a pretty small algorithm and this code implements it completely in one C file and appears kosher to use in commercial projects (Though its not one of the standard Open Source licenses).

You can probably find other implementations as well. Golay codes are one of several mechanisms used for error recovery in low-bit rate digital radio systems.

link to source code

于 2011-10-20T16:33:30.713 回答