Windows xp 命令提示符重定向到Arduino不工作
我有一个简单的Arduino程序,它从串行输入解析一个int并打开一个。它与Arduino串行监视器(较旧的Arduino,带有ATmega168)完美配合 我的目标是从命令提示符将数据发送到Arduino。我已通过运行以下命令确保命令提示符com设置正确:Windows xp 命令提示符重定向到Arduino不工作,windows-xp,serial-port,arduino,Windows Xp,Serial Port,Arduino,我有一个简单的Arduino程序,它从串行输入解析一个int并打开一个。它与Arduino串行监视器(较旧的Arduino,带有ATmega168)完美配合 我的目标是从命令提示符将数据发送到Arduino。我已通过运行以下命令确保命令提示符com设置正确: mode com7:9600,n,8,1 但是,当我尝试将整数发送给它进行解析时,什么也没有发生,例如: ECHO 2 > COM7 我还尝试过ECHO'2'>COM7、ECHO“2”>COM7、(ECHO 2)>COM7以及我能
mode com7:9600,n,8,1
但是,当我尝试将整数发送给它进行解析时,什么也没有发生,例如:
ECHO 2 > COM7
我还尝试过ECHO'2'>COM7、ECHO“2”>COM7、(ECHO 2)>COM7以及我能想到的所有其他变体
编辑只是为了说明,我已经用Arduino串行监视器试过了,并且。所有这些程序都与Arduino通信良好,电磁阀按预期打开。我还用Serial.parseInt()
而不是Serial.read()
尝试了下面的代码,并在案例编号周围加上或不加上单引号。同样,在所有情况下,它都可以使用上述三个程序,但不能使用命令提示符
编辑此处是我正在处理的草图:
int incoming;
void setup()
{
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
pinMode(8, OUTPUT);
}
void loop()
{
if (Serial.available > 0)
{
incoming = Serial.read();
switch(incoming)
{
case '1':
digitalWrite(2, HIGH);
delay(2000);
degitalWrite(2, LOW);
break;
case '2':
digitalWrite(4, HIGH);
delay(2000);
degitalWrite(4, LOW);
break;
case '3':
digitalWrite(6, HIGH);
delay(2000);
degitalWrite(6, LOW);
break;
case '4':
digitalWrite(8, HIGH);
delay(2000);
degitalWrite(8, LOW);
break;
}
}
}
我想到两件事:
- 您是否尝试过
(注意冒号)echo 2>com7:
- Windows中的行分隔符是两字节序列CR/LF。也许串行监视器使用了另一个监视器,而您的Arduino草图不理解CR/LF
如果没有帮助,你应该张贴草图或示例。想到两件事:
- 您是否尝试过
(注意冒号)echo 2>com7:
- Windows中的行分隔符是两字节序列CR/LF。也许串行监视器使用了另一个监视器,而您的Arduino草图不理解CR/LF
如果没有帮助,你应该发布草图或示例。非常感谢你的回复!我还没有试过结肠,我一到家就会试一下。我很确定不是CR/LF序列导致了这个问题,因为当我用PuTTY打开连接时,我尝试了CR/LF响应,但一切仍然正常。到目前为止,该连接已经与Arduino串行监视器、PuTTY和HyperTerminal一起工作。com7后的结肠没有改变结果。我在Arduino系列监视器和PuTTY中尝试了所有不同的线结束类型,并且在所有情况下都有效。还有什么想法吗?非常感谢你的回复!我还没有试过结肠,我一到家就会试一下。我很确定不是CR/LF序列导致了这个问题,因为当我用PuTTY打开连接时,我尝试了CR/LF响应,但一切仍然正常。到目前为止,该连接已经与Arduino串行监视器、PuTTY和HyperTerminal一起工作。com7后的结肠没有改变结果。我在Arduino系列监视器和PuTTY中尝试了所有不同的线结束类型,并且在所有情况下都有效。还有其他想法吗?我不知道该怎么办,上面的答案不可行,我手头还有一个备用的Arduino UNO。我将UNO插入我的中继板,上传了相同的代码,现在从命令提示符和上面提到的三个程序,一切都正常了。有人知道为什么UNO上的同一代码与Diecimila上的代码不同吗?我的印象是,代码的行为应该与Arduino的类型无关。不管怎样,我将从现在开始使用UNO,因为我需要通过命令提示符与它进行通信。我不知道该怎么做,上面的答案不可行,我手头有一个备用的Arduino UNO。我将UNO插入我的中继板,上传了相同的代码,现在从命令提示符和上面提到的三个程序,一切都正常了。有人知道为什么UNO上的同一代码与Diecimila上的代码不同吗?我的印象是,代码的行为应该与Arduino的类型无关。无论如何,我将从这里开始使用UNO,因为我需要通过命令提示符与它通信。