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

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...

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.