0

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

4

3 回答 3

1

您需要在嵌入式平台上运行某种程序,监听串行端口并响应请求。这种程序通常被称为“daemon”(读音与“demon”相同;就像“Caesar”与“sea star”押韵一样)。

如果你已经有一个守护进程,你需要弄清楚它使用什么格式。由于我不知道您可能拥有什么,我什至无法猜测。

如果您要编写自己的守护程序,则需要选择某种协议。我个人喜欢串行协议的 JSON 格式;如果没有更好的库可用,您可以仅使用 C 库中提取数据,这很简单sscanf(),当然只需使用sprintf().

http://json.org/

于 2012-06-22T03:10:05.167 回答
0

您想要的是POSIX 操作系统的串行编程指南。如果您由于某种原因绑定到 Windows,您可以通过安装 Cygwin 获得 POSIX。期望熟悉手册页termiosfcntl因为您首先必须设置串行端口参数才能与您的设备一起使用,尽管它们可能在某种程度上是标准的 8-N-1。然后是读取和写入字节到端口的文件描述符的问题。您更有可能使用低级open(), close(), read(), 和write(),它们低于stdio( printf, fopen, stdout) 的级别,作为新程序员,您更有可能习惯使用这些级别。

现在的电脑经常没有 RS232 串口,所以如果你需要一个,你可以找到一个便宜的 USB 适配器。请注意,根据我的经验,USB 适配器不一定实现某些辅助信号(RTS、CTS 等)。

还可以根据您的特定需求和情况查看库。

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

于 2012-06-22T01:30:40.683 回答
0

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

于 2012-06-22T04:21:27.207 回答