我需要两个设备(PC和微控制器)之间的简单通信协议.PC必须向微软发送一些命令和参数.微必须传输一个字节数组(来自传感器的数据).
数据必须受到噪声保护(除了奇偶校验,我认为我还需要一些其他的数据校正方法).
有没有标准的解决方案呢?(我只需要一个想法,而不是完整的解决方案).
PS任何建议表示赞赏.PPS对不起任何语法错误,希望你理解.
编辑1.我还没有决定它是主/从协议还是双方都可以发起通信.PC必须知道微工作何时完成工作并且可以发送数据.如果数据准备就绪,它可以连续轮询微观,或者当作业完成时微观可以发送数据.我不知道哪个更好更简单.
编辑2. 硬件和物理层协议.由于PC中使用RS-232 C串行标准,我将使用异步通信.我将只使用RxD,TxD和GND信号.我无法使用额外的电线,因为微控制器AFAIK不支持它们.顺便说一下,我正在使用AVR ATmega128芯片.
所以我将使用固定波特率,8位数据,2个停止位而不进行奇偶校验(或使用?).
我正在研究一种使用rs232(rs232 over USB)连接到PC的嵌入式设备.
我正在考虑开发自己的协议:
<MAGIC><LENGTH><BINARY DATA><CRC>
但我不想重新发明轮子.
请注意:我正在考虑相当受限的设备:4kb的RAM,没有内核,也没有标准的C lib.
你能想到一个标准的方法(也许是开源库)吗?
如果您编写自己的解决方案,是否有任何最佳实践?
更新: 请重新阅读问题.我不应该要求图书馆,而是要求良好做法.