Windows xp 命令提示符重定向到Arduino不工作

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以及我能

我有一个简单的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以及我能想到的所有其他变体

编辑只是为了说明,我已经用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,因为我需要通过命令提示符与它通信。