我有一台 Licor CO2-Logger (Li-820) 用于科学实验。Li-820 输出模拟信号(电压)并通过 RS232 端口提供串行通信。我想嗅探与 arduino uno 的串行通信,并在 LCD 显示器上显示 CO2 值,以便我可以控制记录在计算机系统中的模拟信号。我想同时显示模拟和数字信号。
我使用 rs232 电平转换器将 Licor CO2 分析仪连接到 arduino uno,我可以使用 arduino 串行监视器和嗅探器程序成功嗅探 COM 端口。通过 rs232 端口,Li-820 设备输出一个类似 xml 的行,如下所示:
<li820><data><celltemp>5.1252350e1</celltemp><cellpres>9.7159633e1</cellpres><co2>5.2527637e2</co2><co2abs>7.7893261e-2</co2abs><ivolt>1.1386718e1</ivolt><raw>3950702,3808028</raw></data></li820>
我想用 arduino uno 解析相关部分的信息,即“5.2527637e2”(“CO2”值),然后首先将其输出到串行监视器。接下来,我将在 LCD 显示器上显示该值。这最后一步应该是一个小问题。
那么,如何解析相关位的信息,然后将其显示到串行监视器上。
我在网上查了很多例子。来自此处(http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1287446626)和此处(使用 Arduino Duemilanove 和 Cutedigi RS-的 RS-232 通信)的工作代码的修改版本232 接口)是我得到的最接近的。
我知道一些用于 arduino 平台的 xml 库。但是,我首先无法访问 xml 行。
评论
我已经在 [electronics.stackexchange.com] 上发布了这个问题,但是那里的一些好人建议我也在这里发布这个问题。由于声誉低下,我无法迁移问题。