我正在使用使用rs232(rs232 over USB)连接到PC的嵌入式设备。在嵌入式设备上将字节流转换为C89中的数据包流的方法
我在考虑发展我自己的协议:
<MAGIC><LENGTH><BINARY DATA><CRC>
,但我不想推倒重来。
请注意说:我正在考虑相当有限的设备:4kb的RAM,没有内核,也没有标准的C库。
你能想到一个标准的方法来做到这一点(也许是开源库)吗?
如果您编码自己的解决方案是否有任何最佳做法?
- 你使用魔法字节也是在包的结束?
- 也许最好是使用时间间隔而不是分隔符?
- 如何在流二进制数据中找到包的开始?
- 也许最好是使用文本协议?
UPDATE: 请重新阅读的问题。我不应该要求图书馆,而是要求好的做法。
类似于:http://stackoverflow.com/questions/815758/ – 2009-05-03 14:08:26
第3个要点应该是:“你怎么在二进制数据流中找到数据包的开始”? – 2009-05-03 14:17:17
谢谢史蒂夫:) – 2009-05-03 15:15:48