0
我試圖讓LED在Labview的數字控制中給出的頻率閃爍。我使用COM4將Arduino連接到Labview。 IThis是寫在Arduino的IDE代碼:在給定頻率下LED閃爍 - Arduino和Labview
char command;
String string;
void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
}
void loop()
{
if (Serial.available() > 0)
{string = "";}
while(Serial.available() > 0)
{
command = ((byte)Serial.read());
if(command == ':')
{
break;
}
else
{
string += command;
}
delay(1);
}
if(string.toInt() > 0)
{
TempOn();
TempOff();
}
}
void TempOn()
{
long y= string.toInt();
digitalWrite(13, HIGH);
delay(y);
}
void TempOff()
{
long y= string.toInt();
digitalWrite(13, LOW);
delay(y);
}
}
如果我試圖讓它閃爍一定的值,如1000(我寫了下面的代碼從下面),它完全適用於該值!
if(string == "1000")
{
TempOn();
TempOff();
}
我不明白爲什麼它不會對一般的情況下工作...
這是在Labview中(框圖)代碼:
Arduino不是C! – Olaf
看起來您的Arduino代碼期望延遲字符串以冒號結尾,但您的LabVIEW代碼不會在數字的數字後面發送冒號。此外,LabVIEW代碼將每隔10 ms繼續傳輸一次數字,所以如果(比如說)數字控件設置爲1000,則數據流將看起來像「10001000100010001000」等。您想要將終止字符追加到字符串,然後將它傳遞給VISA Write,並且可能只在您單擊按鈕或值發生更改(例如,使用控件的值更改事件)時發送該值。 – nekomatic