如何通过串口发送请求从目录中检索数据?

时间:2012-06-21 18:31:37

标签: c++ c serial-port

我有一个控制器,它有一个串口和以太网。我想通过控制器的串行端口或以太网端口从事件目录中检索事件和与此事件关联的数据。我确实有要检索的指定事件的数据包格式(请求数据包数据)。谁能告诉我如何通过串口发送请求来检索数据?我是初学者,并没有那么精通编程。

3 个答案:

答案 0 :(得分:1)

您需要在嵌入式平台上运行某种程序,收听串口并回复请求。这种程序通常被称为"守护进程" (发音与&#34相同;恶魔&#34 ;;就像"凯撒"押韵"海星")。

如果您已有守护进程,则需要确定它使用的格式。因为我不知道你可能有什么我甚至无法猜测。

如果您要编写自己的守护程序,则需要选择某种协议。我个人喜欢串行协议的JSON格式;如果没有更好的库,那么只需使用sscanf()从C库中提取数据就足够简单了,当然只需使用sprintf()即可轻松构建JSON字符串。

http://json.org/

答案 1 :(得分:0)

你想要的是 Serial Programming Guide for POSIX Operating Systems 。如果由于某种原因绑定到Windows,则通过安装Cygwin获得POSIX。期望熟悉termiosfcntl等手册页,因为您首先必须设置串口参数才能与您的设备配合使用,尽管它们很可能是标准的8-N 1以某种速度。然后是读取和写入端口的文件描述符的字节问题。您更有可能使用低级别open()close()read()write(),这些级别低于stdio({{ 1}},printffopen)你更有可能习惯于成为新的程序员。

这些天的计算机通常缺少RS232串口,所以如果你需要,你可以找到一个便宜的USB适配器。请注意,根据我的经验,USB适配器不一定能实现某些辅助信号(RTS,CTS等)。

另请查看图书馆,了解您的具体需求和情况。

您应该指定控制器以获得更有用的答案。

答案 2 :(得分:0)

您的控制器应支持任何数据交换协议。您可以在文档中找到此信息。可能是,它支持MODBUS或MODBUS TCP。在这种情况下,您可以使用任何与Modbus兼容的软件。