Skocz do zawartości

Przywrócenie arduino do ustawień fabrycznych


Pomocna odpowiedź

Napisano

Dzień dobry.

Otrzymałam płytkę arduino uno, która wcześniej była programowania za pomocą scratch i prawdopodobnie pythona. Po podłączeniu do komputera płytka komunikuje się z arduino IDE i komputerem (po kliknięciu upload w arduino IDE nie ma komunikatu o błędzie, na płytce mruga dioda). Wgrałam jej przykładowy program "blink" z lekcji nr 1 kursu arduino 1, lecz nie mrugają na niej diody. Po zasygnalizowaniu odebrania danych, nic więcej się nie dzieje. Co należy uczynić, by płytka działała?

 

Pozdrawiam

(edytowany)

W PLIK-PREFERENCJE włączyć wyświetlanie wszystkich komunikatów (ostrzeżeń) podczas kompilowania i wgrywania programu. Wgrać przykład PLIK-PRZYKLADY-BASICS-BLINK i wysłać do Arduino. Prześledzić komunikaty w okienku konsoli (to czarne na dole w Arduino IDE, można zmieniać jego rozmiar) i pochwalić się wynikami.

Edytowano przez Belferek
Cytat

Using board 'uno' from platform in folder: C:\Users\j\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\j\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Detecting libraries used...
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\sketch\\Blink.ino.cpp" -o nul
Generating function prototypes...
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\sketch\\Blink.ino.cpp" -o "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Kompilowanie szkicu...
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\sketch\\Blink.ino.cpp" -o "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\sketch\\Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\j\AppData\Local\Temp\arduino-core-cache\core_arduino_avr_uno_3a85cc3c2e64fade2eaae7632efb0832.a
Linking everything together...
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.elf" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D\\sketch\\Blink.ino.cpp.o" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/..\\arduino-core-cache\\core_arduino_avr_uno_3a85cc3c2e64fade2eaae7632efb0832.a" "-LC:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D" -lm
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.elf" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.eep"
"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.elf" "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex"

"C:\\Users\\j\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\j\\AppData\\Local\\Temp\\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.elf"
Szkic używa 924 bajtów (2%) pamięci programu. Maksimum to 32256 bajtów.
Zmienne globalne używają 9 bajtów (0%) pamięci dynamicznej, pozostawiając 2039 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.
"C:\Users\j\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\j\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v  -patmega328p -carduino "-PCOM3" -b115200 -D "-Uflash:w:C:\Users\j\AppData\Local\Temp\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex:i"

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:\Users\j\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\j\AppData\Local\Temp\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex"
avrdude: writing flash (924 bytes):

Writing | ################################################## | 100% 0.16s

avrdude: 924 bytes of flash written
avrdude: verifying flash memory against C:\Users\j\AppData\Local\Temp\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\j\AppData\Local\Temp\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex:
avrdude: input file C:\Users\j\AppData\Local\Temp\arduino-sketch-AA67C5C80B716F94F492B60C55B06D9D/Blink.ino.hex contains 924 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.13s

avrdude: verifying ...
avrdude: 924 bytes of flash verified

avrdude done.  Thank you.

Wygląda na to, że wgrywanie przebiegło pomyślnie. Nie wiem, co może być przyczyną.

1 minutę temu, yuki napisał:

Wygląda na to, że wgrywanie przebiegło pomyślnie. Nie wiem, co może być przyczyną.

To, że wygląda na to, że wszystko z Twoją płytką i środowiskiem Arduino IDE powinno być OK. Zawsze warto zobaczyć co tam się działo podczas wgrywania programu na płytkę.

Wgraj inne przykłady, np. wysyłanie komunikatu na UART co 1s, ustaw w begin 115200, otwórz monitor portu COM z prędkością 115200 i patrz czy coś leci, może tylko LED padła. 

Przywrócenie do stanu początkowego to wypalenie bootloadera, jeśli jakiś inny program coś przestawił to tak się to zresetuje. Trzeba mieć programator, np. USBASP, można też zrobić programator z innego Arduino, wystarczy wgrać szkic Arduino ISP, schemat połączeń znajdziesz w Google. 

Wypalenie bootloadera czasami wgrywa bootloader, ale zawsze ustawia fusebity do stanu przewidzianego dla płytki - "ustawienie fabryczne". Całkiem niedawno widziałem komunikat wgrywania jak wyżej, weryfikacja OK, a program nie działał.

(edytowany)

Widział ktoś nie działającego "blinka" przy poprawnym wgraniu programu - ja nie. No ale może mało widziałem, a autor niestety ale precyzyjnie się nie wypowiada.

To może @yuki napisz jak to jest z tym "blinkiem"? Miga dioda na płytce czy nie? Może jakiś filmik?

Edytowano przez Belferek
(edytowany)

Tylko przypomnę choinkę znajomka, same ledy, kod bez błędów i program się wykraczał. Usunięcie volatile i dodania delay pomogło xD więc wiele jest możliwe

Edytowano przez BananWszyscy
3 minuty temu, BananWszyscy napisał:

Usunięcie volatile i dodania delay pomogło xD więc wiele jest możliwe

Więc program (algorytm)  z takich czy innych powodów był błędny. Komputery się nie mylą - mylą się ludzie (programiści).

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