Wpis z mikrobloga

Drodzy #avr i #elektronika, trochę #arduino. Chcę wgrać na czystą ATmegę 328P bootloader Arduino, co by móc szybko i wygodnie pisać w Arduino IDE i mieć dostęp do masy bibliotek :)

Korzystałem z części tego poradnika: http://majsterkowo.pl/przenoszenie-prototypu-na-atmege/ ale zamiast innego arduino wybrałem jako programator usbasp, i go też podłączyłem do ATmegi. Dałem zewnętrzny oscylator 16Mhz, wybrałem płytkę "ATmega328P @ 16Mhz", wcisnąłem "Wypal bootloader" i cały proces przeszedł pomyślnie. Chyba. Bo gdy teraz wybiorę przykładowy sketch "Blink", zmieniłem w nim pin na 8, i podpiąłem do atmegi led do pinu 14 (Wg. tego: http://www.jameco.com/Jameco/workshop/JamecoBuilds/arduinocircuit_fig12.jpg ) i kliknąłem załaduj. I nic. Dioda nie mryga :/

Jakieś pomysły? :)
skew - Drodzy #avr i #elektronika, trochę #arduino. Chcę wgrać na czystą ATmegę 328P ...

źródło: comment_Ax2z55whxMvFdJzzZhjmtlOjCDz7Phkm.jpg

Pobierz
  • 13
@cecen: W sumie to tylko te kondensatory mają znacznie, filtrowanie napięcia jest ok ale to nie jest tu istotą problemu.
@skew: Jeśli wgrałeś bootloader dla ATMega32 na atmega328 to może on nie działać. Dodatkowo, jeśli nie zmieniłeś domyślnych fusebitów, to zaprogramowany procek po resecie nie startuje spod adresu bootloadrea a spod adresu 0x00 - czyli od początku programu, który już jest we flash'u. No i flasha się nie wypala, to
@Analityk: Wgrałem bootloader dla Atmega328 ten: Klik wybierając odpowiednią opcję w ArduinoIDE. Więc nie używałem avrdude. Poszedłem trochę na łatwiznę bo uznałem że najpierw sprawdzę czy działa a potem będę się bawił.

Po dodaniu kondensatorów dioda zamiast być wyłączona, zaczęła bardzo szybko mrygać, tak jakby ten pin został ustawiony na output, ale nie został zwarty z masą/vcc i jest "w powietrzu".

Wygląda na to że muszę najpierw przyjąć trochę teorii, znacie
@skew: sprawdz ustawienia fusebitow BOOTRST i BOOTSZ jezeli nie sa dobrze ustawione to tak jak pisal @Analityk Procek zaczyna program od 0x0000 , jak jest ustawiony Bootrst to skacze na poczatku do adresu bootloadera. Bity Bootsz sluza do ustwawienia wielkosci pamieci dla bootloadera. da sie sprawdzic jak Ci sie to uklada w pamieci, jak odczytasz caly flash do pliku .hex potem programem hex2bin i w TotalComanderze da sie podejrzec Listenerem ktore