我目前正在设计一个使用QP框架的应用程序协议,使用Canbus或LonWorks等串行总线与多个设备通信。
我的想法是开发一个活动对象,订阅一组事件并转换为串行总线中的命令。并使用两种类型的消息;点对点和广播。对等将是发送和响应协议。来自显示设备的按钮将使用对等命令,而温度变化等adc值将使用广播消息。
同事提出的另一个解决方案是实现类似于LonWorks的网络变量。这需要一个模块来监视一个设备上的变量变化,并在另一个设备上执行轮询读取。这需要在初始化期间了解总线中其他设备的可变地址。
我倾向于第一个解决方案,因为这看起来更简单,非常适合事件驱动的范例。
如果有人可以使用QP框架为多个设备和所使用的应用程序协议类型分享一些经验,那将会很棒。
赖安