Skocz do zawartości

Arduino błąd podczas wgrywania programu


Pomocna odpowiedź

37 minut temu, fireaxx551 napisał:

@farmaceuta Warto go wymienić o ile wogóle się da?

Wymienić warto, z tym że zależy jaki to chip no i czy dasz radę przelutowac...

 

39 minut temu, fireaxx551 napisał:

@farmaceuta

Mam jeszcze jedno Arduino Uno którego nie wykrywa port.

 

To zrób tak samo jak poprzednio...najpierw wypal boota i próbuj przez USB coś wgrać, jeśli dalej nie będzie działać, próbuj  przez programator,  jak zatrybi to konwerter walnięty ..

Jeśli Ci wgrywa bootloader przez programator (nieważne jaki - USBASP, ArduinoISP, itp.) to  możesz wgrać tak samo program, np. do migania LED. Po każdym wgraniu programu bootloder trzeba wgrać na nowo by korzystać z możliwości programowania przez USB.

Jak wgrasz np. Blink i upewnisz się, że wgrywanie działa, to możesz też wgrać jakiś program drukujący coś na UART, otwierasz monitor portu COM, SERIAL MONITOR i oczyma potwierdzasz czy program działa, wysyła komunikaty, w programie i monitorze musi być ustawiona ta sama prędkość. 

Innym przykładem z Arduino możesz sprawdzić, czy program odbiera komunikaty, najprostszy odsyła wysłany tekst, normalnie tekst nadany z Serial Monitora nie pokazuje się na ekranie terminala. Jak się pokaże, bo program odsyła odebrane znaki to i w drugą stronę konwerter USB-UART działa. W przykładach, zakładka communication, przykład SerialEvent tak działa na przykład.

Potem zostaje potwierdzenie, czy zamknięcie i otworzenie Serial Monitora powoduje reset płytki, jest to wymagane do wgrywania programu, a czasami nie działa, taki autoreset Arduino. Wystarczy wgrać program, który drukuje na serial jakąś zmienna++, czyli linijka w loop Serial.println(zmienna++); i delay(1000);, jak po otwarciu na nowo terminala w Arduino nie zacznie wysyłać wartości od początku, to znaczy że reset nie działa.

Można też wszystko wrzucić do jednego programu i przetestować działanie USB/UART:

/*
  Serial Event example

  When new serial data arrives, this sketch adds it to a String.
  When a newline is received, the loop prints the string and clears it.

  A good test for this is to try it with a GPS receiver that sends out
  NMEA 0183 sentences.

  NOTE: The serialEvent() feature is not available on the Leonardo, Micro, or
  other ATmega32U4 based boards.

  created 9 May 2011
  by Tom Igoe

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/SerialEvent
*/

String inputString = "";         // a String to hold incoming data
bool stringComplete = false;  // whether the string is complete
int zmienna;
void setup() {
  // initialize serial:
  Serial.begin(115200);
  // reserve 200 bytes for the inputString:
  inputString.reserve(200);
}

void loop() {
  // print the string when a newline arrives:
  if (stringComplete) {
    Serial.println(inputString);
    // clear the string:
    inputString = "";
    stringComplete = false;
  }
Serial.println(zmienna++); 
 delay(1000);  
}

/*
  SerialEvent occurs whenever a new data comes in the hardware serial RX. This
  routine is run between each time loop() runs, so using delay inside loop can
  delay response. Multiple bytes of data may be available.
*/
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline, set a flag so the main loop can
    // do something about it:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

 

 

  • Lubię! 2
19 minut temu, fireaxx551 napisał:

@farmaceuta Tak jest tylko chyba źle opisałem, u mnie tylko działa dobrze gdy mam podłączone drugie arduino jako programator.

Czyli wygrywasz blink programatorem i po podłączeniu Ardu przez kabel USB nie działa??

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...