大家好,
我正在尝试集成 freemaster pipes 进行日志记录(以后可能会用到它的更多功能)。
由于我使用的是 Linux 系统,所以我尝试了 freemaster light + python 的方案。
我可以正常连接,但是当尝试打开管道并打印管道日志消息时,我没有通过 rpc 服务器收到任何数据。
为了验证目标实现,我还通过 Windows GUI 进行了检查,发现它可以正确读取管道,因此问题似乎出在 PC 端。
请参见附件中的示例 Python 脚本。任何提示都欢迎。
顺祝商祺!
没关系,看来我需要在接收端显式调用 PipeFlush 函数。没想到会这样。附件为可运行示例,供您参考。
你好,
太好了,你终于搞定了。我确认需要调用 PipeFlush 函数,因为它会导致管道数据在两个方向上交换。实际上,这是唯一一个会导致物理数据传输的管道调用。PC 端和目标端的所有其他操作都只是将数据缓冲到管道缓冲区。
使用 FreeMASTER 协议时,PC 是唯一的通信启动器。目标板无法自行启动。PipeFlush 是 PC 给目标用户一个机会来报告(然后发送)任何新的管道数据的地方。
问候,
米哈尔