arduino突然显示“avrdude:ser_open():上次上传后无法打开设备”\\。\ COM3“

时间:2015-05-06 16:44:37

标签: arduino arduino-uno arduino-ide

我正在使用arduino uno制作声音探测器。 我上传了一个程序,在代码中发现错误,它返回了无意识的大数字。我还认为我为模块使用了错误的代码,但它的连接方式可以正常使用正确的代码。

我上传的代码是:

const int ledPin =13;
const int middleValue = 512;
const int numberOfSamples =128;

int sample;
long signal;
long averageReading;

long runningAverage = 0;
const int averagedOver = 16;

const int threshold=400;

void setup(){
    pinMode(ledPin, OUTPUT)
    Serial.begin(9600)
}

void loop(){
    long sumOfSquares = 0;
    for (int i=0; i<numberOfSamples; i++){
        sample = analogRead(0);
        signal = (sample - middleValue);
        signal *= signal;
        sumOfSquares += signal;
    }
    averageReading = sumOfSquares/numberOfSamples;
    runningAverage=(((averagedOver -1 )*runningAverage)+averageReading)/averagedOver;

    if(runningAverage>threshold){
        digitalWrite(ledPin, HIGH);
    }else{
        digitalWrite(ledPin, LOW);
    }
    Serial.println(runningAverage);
}

当arduino突然停止发送序列号时,我按下了重置按钮并上传了默认代码:

void setup() {
}

void loop() {
}

但是现在它显示它无法连接到COM3 (arduino)并且无法找到设备,当我看到arduino uno使用设备管理器(windows 8.1)成功连接到PC时。当我将它连接到电源或USB时,arduino的led灯也会亮起。

当我点击查看串行输出时显示“找不到端口”

我刚刚炒Arduino吗? 我该如何解决这个问题?

另外,当我插入USB时,我检查了LED引脚13闪烁三次。我只是无法上传任何东西

4 个答案:

答案 0 :(得分:3)

你应该做一些检查才能得出结论,你的Arduino可能就好了。据我所知,Code无法破坏控制器。

  1. 检查是否有其他软件使用相同的串行端口。两个软件不能同时使用同一个串口
  2. 重置您的电脑,然后重试
  3. 从电路板上取下微控制器,将其连接到PC并尝试打开com端口。如果它打开然后将您的Tx引脚连接到Rx引脚,发送一些数据并检查您是否正在获取数据。通过这种方式,您可以使用USB-TTL转换器。
  4. 如果成功,请将微控制器插入其他电路板并检查是否已编程
  5. 我相信在这些检查后你会发现你的电路板/微控制器发生故障的原因。

答案 1 :(得分:3)

对我有用的是什么:

工具&gt;端口&gt;(您的COM)

只需选择即可解决错误。

答案 2 :(得分:0)

是的,请检查所有内容....尤其是USB线或USB端口。这至关重要。我的问题只是计算机USB端口上的污垢。污垢,灰尘和污垢。疯了不是吗?只需清理USB端口和连接器,解决问题。

答案 3 :(得分:0)

我也有同样的问题并解决了它。 试试这个。 1.断开arduino的所有电缆 2.连接外部电源 3.连接usb电缆 4.然后上传。

我使用带有CNC屏蔽(GRBL)的arduino并将外部电源插入arduino。 在这之后。只能使用USB电缆将新固件上传到arduino。 成功上传usb +外部电源后,您只能使用USB电缆上传任何固件。