Skocz do zawartości

Błąd przy wgrywaniu kodu na Arduino Nano


wojtek1111

Pomocna odpowiedź

Jest to kod do nadajnika. Zrobionego na arduino nano joysticku oraz nrf24l01. Taki sam błąd mam w odbiorniku.

błąd to 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

avrdude done.  Thank you.

 

Podczas ładowania szkicu wystąpił błąd

Jest to kod do nadajnika. Zrobionego na arduino nano joysticku oraz nrf24l01. Taki sam błąd mam w odbiorniku.

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(8,9); // CE, CSN
const byte address[6] = "00001";
char xyData[32] = "";
String xAxis, yAxis;
void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}
void loop() {
  
  xAxis = analogRead(A1); // Read Joysticks X-axis
  yAxis = analogRead(A0); // Read Joysticks Y-axis
  // X value
  xAxis.toCharArray(xyData, 5); // Put the String (X Value) into a character array
  radio.write(&xyData, sizeof(xyData)); // Send the array data (X value) to the other NRF24L01 modile
  // Y value
  yAxis.toCharArray(xyData, 5);
  radio.write(&xyData, sizeof(xyData));
  delay(20);
}

 

Link do komentarza
Share on other sites

Skompilowałem ten Twój program.Pierwsza kompilacja zakończyła się niepowodzeniem i komunikatem o braku biblioteki RF24.h Po zainstalowaniu biblioteki i ponownym  skompilowaniu wszystko poszło jak należy.poniżej załączam zdjęcie

rf24.thumb.png.ea6c21407cb3999ec366d35397e4097c.png

Zastosuj old Bootloader

Edytowano przez szymonw
Niedokończony post
Link do komentarza
Share on other sites

(edytowany)

 @szymonw

Biblioteka jest wgrana. I cały czas mam ten błąd 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

avrdude done.  Thank you.

Podczas ładowania szkicu wystąpił błąd

 

Podczas ładowania szkicu wystąpił błąd
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
 

 

 

Podczas ładowania szkicu wystąpił błąd
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
Problem z wgrywaniem na płytkę. Sprawdź http://www.arduino.cc/en/Guide/Troubleshooting#upload w poszukiwaniu sugestii.
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xcb
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xcb
 

 

 

Edytowano przez Gieneq
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Wejdź Narzędzia->procesor "ATmega 328P"->kliknij w ATmega328P(old Bootlouder) a następnie kompiluj i wgraj

Wgrałem do swojego  arduino nano oto zrzut z ekranu

1rf24.thumb.png.619fbb0bbcc8f6e064a897e5eb3dab90.png

Ten program musi się wgrać.Nie zapominj po zmianie bootoadera  wybrać portu!

Link do komentarza
Share on other sites

Możesz pokazać zrzut z ekranu narzędzia ->procesor .Przesyłam zdjęcie.

k1.thumb.png.0c47ccf4783826929d42b40bc4976f87.png

Wgraj programik Blink .

Edytowano przez Gieneq
Link do komentarza
Share on other sites

Jak masz problem z wgraniem kodu to zacznij od wgrania przykładu, który działa zawsze i wszędzie - blink. Od razu wiedziałbyś, że też się nie wgrywa i zamieszczanie na forum kodu od NRF nie ma żadnego sensu. Żeby coś wgrać musisz mieć sprawną płytkę, podłączoną sprawnym kablem, do właściwego portu COM wybranego w menu. Jak płytka ma objawy, że na jakimś kablu pojawia się i znika to ten kabel (czasami gniazdo USB płytki) można sobie schować w koszu. Z drugiej strony właściwy port COM powinien pojawiać się i znikać gdy podłączasz/odłączasz płytkę. Oczywiście płytka musi być taka sama jak wybrana w opcjach programu. Jeśli się nie wgrywa to bierzesz programator i próbujesz odczytać uC. Jeśli się da to wgraj na nowo bootloader, możesz wgrać ten kod używając opcji "Wgraj używając programatora", pamiętaj by wybrać odpowiedni programator z listy, tylko przy tej czynności i przy wgrywaniu bootloadera wybór programatora ma znacznie. Pamiętaj, że każde wgranie kodu programatorem nadpisuje bootloader i potem trzeba go wgrać ponownie by przywrócić funkcję wgrywania przez portu USB płytki NANO/UNO. Dodatkowo płytka NANO ma 3 opcje do wyboru związane z uC i bootloaderem, starszy ale wciąż spotykany w klonach z Chin wymaga opcji OLD. 

Użycie programatora USBASP czy innego ISP to faktycznie podłączenie go pod piny 11,12,13, RST UNO/NANO. W czasie programowania nic pod te piny nie może być podłączone. Analogicznie użycie portu USB i bootloadera to podłączenie pod piny 0 i 1, nic pod te piny w czasie wgrywania nie może być podłączone.

Czasami uda się coś wgrać pomimo podłączenia czegoś pod piny używane do programowania, ale nawet jak się udało 10 razy z rzędu to nie znaczy, że tak należy robić.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.