Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Labview上从arduino读取数字和模拟数据_Arduino_Labview - Fatal编程技术网

在Labview上从arduino读取数字和模拟数据

在Labview上从arduino读取数字和模拟数据,arduino,labview,Arduino,Labview,我试图在Labview上可视化arduino的温度和图形电压模拟读数,但是过了一段时间,采集和波形图的速度变慢了。我使用的是DS18B20传感器这是我在arduino上的代码: #include <OneWire.h> #include <DallasTemperature.h> #define Pin 2 OneWire ourWire(Pin); DallasTemperature senso

我试图在Labview上可视化arduino的温度和图形电压模拟读数,但是过了一段时间,采集和波形图的速度变慢了。我使用的是DS18B20传感器这是我在arduino上的代码:

#include <OneWire.h>
#include <DallasTemperature.h>
#define Pin 2                      
OneWire ourWire(Pin);                
DallasTemperature sensors(&ourWire); 

void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin();                    
}

void loop() {
sensors.requestTemperatures();       
int sensorValue = analogRead(A0);  
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(sensors.getTempCByIndex(0)); 
Serial.print(",");
Serial.println(voltage);
delay(100);                        
}
注意:我在同一条线上从arduino发送数据,但被coma隔开


我做错了什么?或者如何使波形图运行得更快?

您可以更改一些内容以提高性能,所有内容都在下面的红色框中:

移动while循环的外部。打开端口后只需配置一次,而不是每次读取。 调整音量。 确认您的VI和Arduino程序使用相同的。 现在,您的Arduino程序为每个传感器读取发送两个终止字符,但您的VI预期只有一个

对Serial.println的每次调用都将发送:

VI更新
我认为这里不需要等待来减少cpu时间。在从串行读取中,缓冲区上已存在等待。
Serial.println(sensors.getTempCByIndex(0)); // EOL here
Serial.print(",");
Serial.println(voltage);                    // EOL here