私のarduinoにデータを送信して再生しようとしていて、同じ問題が続いています。 Arduinoの上のコードは次のとおりです。あなたはそれが1秒間に指定されたピンに接続された光を点灯デバイスにシリアルモニターの上に文字を送信する際にwindowsコマンドラインからarduinoにデータを渡す
void setup()
{
Serial.begin(9600);
for (int i = 3; i <= 13; i++)
{
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
}
void loop()
{
if (Serial.available())
{
char ch = Serial.read();
int it = ch - '0';
digitalWrite(it, HIGH);
delay(1000);
digitalWrite(it, LOW);
}
}
この基本的にそれを作ります。 組み込みのシリアルモニタでは正常に動作しますが、デバイスには1-9の数字(まだ10+を行う方法がわからない)を送信し、指定されたライトが意図したとおりに点灯します。しかし、私の目標は、windows.h
のsystem()
コマンドを使用してデバイスにデータを送信するためのC++プログラムを作成することです。私はそれを行う前に、私はデバイスにデータを送信するコマンドが必要です。私が見つかりました:
echo i > COM1 //with i being the number to be sent over
は、まあ、私はそれを試してみましたが、かなり興味深い結果私は、コマンドラインでこのメッセージを受け取ることになる半分の時間を得た:
C:/users/XXXXX> echo 7 > COM3 //im 100% sure im using com3
Access is denied
私が見るであろう時間の残りの半分データが通過します(RXライトが点灯します)が、何も起こりません。ピン7に接続されたライトは点灯しません。私はあなたがASCIIでデータを渡す必要があるかもしれないと思っていましたが、いいえ、
echo 55 > COM3
同じ結果が出ました。もし誰かがarduioにウィンドウコマンドラインを介してデータを送る方法を知っていれば、本当に感謝します。ありがとう。