个人觉得你的思路有点局限,没有理清整个程序框架。
首先应当确定一套通信协议,但这个通信协议并不是直接用于控制,而是使需要传送的数据能准确无误的发送和接收,打个比方,要发送的数据是货物,而这个协议是汽车,汽车只负责完整的确保货物被送达,而不参与控制。
接下来就是将要发送的数据通过该协议打包,接收的数据从该协议拆包。这个应数据底层程序,其实是非常简单的。
再说控制,通过通信协议拆解出的数据已经是正确数据了,那么只需要设定另一套控制的协议即可。这点不用多说应该也明白了。
总的来说,做通信控制应包含两层协议,第一是数据通信协议,即保正传输的数据能正确完整的接收。
第二是应用层面的数据协议,就是指通过第一层协议承载的有用数据的数据格式。这样有条理的设计程序才是最佳。
补充一点,在串口中断中一般不允许过长的程序,但可以将第一层数据同信协议做在里面。
个人觉得你的思路有点局限,没有理清整个程序框架。
首先应当确定一套通信协议,但这个通信协议并不是直接用于控制,而是使需要传送的数据能准确无误的发送和接收,打个比方,要发送的数据是货物,而这个协议是汽车,汽车只负责完整的确保货物被送达,而不参与控制。
接下来就是将要发送的数据通过该协议打包,接收的数据从该协议拆包。这个应数据底层程序,其实是非常简单的。
再说控制,通过通信协议拆解出的数据已经是正确数据了,那么只需要设定另一套控制的协议即可。这点不用多说应该也明白了。
总的来说,做通信控制应包含两层协议,第一是数据通信协议,即保正传输的数据能正确完整的接收。
第二是应用层面的数据协议,就是指通过第一层协议承载的有用数据的数据格式。这样有条理的设计程序才是最佳。
补充一点,在串口中断中一般不允许过长的程序,但可以将第一层数据同信协议做在里面。
举报