arduino изведнъж показва avrdude: ser_open(): не може да отвори устройство \\.\COM3" след последното качване

Използвам 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). Светодиодната светлина на arduino също се включва, когато го свържа към източник на захранване или USB.

показва "портът не е намерен", когато щракна, за да видя серийния изход

Току-що ли изпържих Ардуино? Как да поправя това?

Освен това проверих светодиодния щифт 13 да мига три пъти, когато включа usb. Просто не мога да кача нищо


person Keon Kim    schedule 06.05.2015    source източник
comment
Може би ще намерите повече помощ тук: arduino.stackexchange.com   -  person Ôrel    schedule 06.05.2015
comment
stackoverflow.com/a/26913070/3061686   -  person akki    schedule 19.04.2016


Отговори (4)


Трябва да направите няколко проверки, за да стигнете до заключение, вашият Arduino може да е добре. Доколкото знам, Code не може да унищожи контролер.

  1. Проверете дали друг софтуер използва същия сериен порт. Два софтуера не могат да използват един и същ сериен порт едновременно
  2. Рестартирайте компютъра си и опитайте отново
  3. Извадете микроконтролера от платката, свържете го към компютъра и опитайте да отворите com порта. Ако се отвори, свържете своя Tx щифт с Rx щифта, изпратете малко данни и проверете дали получавате данните обратно. По този начин ще гарантирате, че вашият USB-TTL конвертор е наред
  4. Ако това мине успешно, поставете вашия микроконтролер в друга платка и проверете дали се програмира

Сигурен съм, че след тези проверки ще разберете причината за повредата на вашата платка/микроконтролер.

person Meet Desai    schedule 01.07.2015

Какво проработи при мен:

Инструменти>Порт>(вашият COM)

Просто избирането на това реши грешката.

person Adam    schedule 26.09.2016
comment
Ами ако имам /dev/tty.SLAB_USBtoUART в терминала и /dev/cu.SLAB_USBtoUART в IDE? - person Nickolay Kondratenko; 30.01.2017
comment
Какво става, ако опцията за порт е сива? - person Mike Bourbeau; 27.07.2017

Да, проверете всичко.... особено USB кабела или USB порта. Решаващо е. Проблемът ми беше просто мръсотия на USB порта на компютъра. Мръсотия, прах и мръсотия. Лудост, нали? Просто почистете USB порта и конектора и проблемът ще бъде решен.

person Ardui-Fan    schedule 28.10.2015

Аз също имах същия проблем и го реших. опитай това. 1. изключете всички кабели от вашия arduino 2. свържете външно захранване 3. свържете usb кабел 4. след това го качете.

Използвах моя arduino с CNC щит (GRBL) и включих външно захранване към arduino. след това. не беше възможно да се качи нов фърмуер на arduino само с USB кабел. След като успеете да качите с USB + външно захранване, можете да качите всеки фърмуер само с USB кабел.

person IL SIN LEE    schedule 15.09.2016