我有一个控制器,它有一个串口和以太网。我想通过控制器的串行或以太网端口从事件目录中检索一个事件以及与此事件相关的数据。我确实有要检索的指定事件的数据包格式(请求数据包数据)。谁能告诉我如何通过串口发送请求来检索数据?我是初学者,并不是很精通编程。
发布于 2012-06-22 11:10:05
您需要在嵌入式平台上运行某种类型的程序,侦听串行端口并应答请求。这类程序通常被称为"daemon“(发音与”demon“相同;就像"Caesar”与“star star”押韵一样)。
如果你已经有一个守护进程,你需要弄清楚它使用的是什么格式。因为我不知道你可能会有什么,我甚至猜不出来。
如果您要编写自己的守护进程,则需要选择某种协议。就我个人而言,我喜欢串行协议的JSON格式;它非常简单,如果没有更好的库,只需使用sscanf()
就可以从C库中提取数据,当然,使用sprintf()
构建JSON字符串也很容易。
http://json.org/
发布于 2012-06-22 09:30:41
你想要的是。如果你由于某种原因被绑定到Windows上,你可以通过安装Cygwin来获得POSIX。希望熟悉像termios
和fcntl
这样的手册页,因为您首先必须设置串行端口参数才能与您的设备一起工作,尽管它们在某种程度上可能是标准的8-N-1。然后是读取和写入字节到端口的文件描述符。您更有可能使用低级的open()
、close()
、read()
和write()
,它们比您作为新程序员更可能习惯的stdio
(printf
、fopen
、stdout
)级别更低。
现在的电脑通常没有RS232串口,所以如果你需要一个,你可以找到一个便宜的USB卡。请注意,USB适配器不一定实现某些辅助信号(RTS、CTS等)根据我的经验。
另外,根据您的特定需求和情况查看库。
您应该指定控制器以获得更有用的答案。
发布于 2012-06-22 12:21:27
你的控制器应该支持任何数据交换协议。您可以在文档中找到此信息。可能,它支持MODBUS或MODBUS TCP。在这种情况下,您可以使用任何与modbus兼容的软件。
https://stackoverflow.com/questions/11144529
复制相似问题