Witam!
Niedawno zainteresowałem się programowaniem mikrokontrolerów i kupiłem sobie układ ATmega88-20PU. Zamontowałem go na płytce i podłączyłem programator USBasp. Korzystając z AVRstudio i AVRdude'a wgrałem do pamięci flash prosty programik, którego celem było zapalenie diody podłączonej do PB0 i PB1:
Użyłem polecenia -p m88 -c usbasp -U flash:w:"p2.hex":i
Niestety, po wgraniu kodu nic się nie stało (dioda nie zaczęła świecić). Zacząłem się zastanawiać co może być tego przyczyną. Na początek sprawdziłem wszystkie połączenia i generalnie sprawdziłem, czy nie występuje jakiś problem opisany w temacie https://www.elektroda.pl/rtvforum/topic998383.html.
Na koniec poleceniem avrdude -p m88 -P usb -c usbasp -t
a następnie r flash 0 0xff odczytałem pamięć flash i wygląda na to, że jest tam taki sam zapis jak w podglądzie pliku p2.hex, który był tam wgrywany. Z tego chyba wynika, że kod jest zapisany w pamięci układu poprawnie. Tak czy owak układ nie działa i nie bardzo wiem dlaczego.
Zasilanie podpinałem najpierw przez programator, później ze źródła zewnętrznego i ciągle nic. Na PB0 i PB1 nie ma żadnego napięcia, co sprawdziłem miernikiem (zresztą poza VCC, GND, AVCC i RESET na wszystkich portach jest 0). Na resecie jest stan wysoki, co też sprawdziłem miernikiem. Nie zmieniałem fuse bitów.
Podejrzewam, że robię jakiś prosty błąd - jak to początkujący. Jeśli ktoś ma jakiś pomysł co z tym zrobić, to będę bardzo wdzięczny za wszelkie wskazówki.
Niedawno zainteresowałem się programowaniem mikrokontrolerów i kupiłem sobie układ ATmega88-20PU. Zamontowałem go na płytce i podłączyłem programator USBasp. Korzystając z AVRstudio i AVRdude'a wgrałem do pamięci flash prosty programik, którego celem było zapalenie diody podłączonej do PB0 i PB1:
.nolist
.include "m88def.inc"
.list
.cseg
.org 0
sbi DDRB, 0
sbi DDRB, 1
sbi PORTB, 0
cbi PORTB, 1
petla:
rjmp petlaUżyłem polecenia -p m88 -c usbasp -U flash:w:"p2.hex":i
Niestety, po wgraniu kodu nic się nie stało (dioda nie zaczęła świecić). Zacząłem się zastanawiać co może być tego przyczyną. Na początek sprawdziłem wszystkie połączenia i generalnie sprawdziłem, czy nie występuje jakiś problem opisany w temacie https://www.elektroda.pl/rtvforum/topic998383.html.
Na koniec poleceniem avrdude -p m88 -P usb -c usbasp -t
a następnie r flash 0 0xff odczytałem pamięć flash i wygląda na to, że jest tam taki sam zapis jak w podglądzie pliku p2.hex, który był tam wgrywany. Z tego chyba wynika, że kod jest zapisany w pamięci układu poprawnie. Tak czy owak układ nie działa i nie bardzo wiem dlaczego.
Zasilanie podpinałem najpierw przez programator, później ze źródła zewnętrznego i ciągle nic. Na PB0 i PB1 nie ma żadnego napięcia, co sprawdziłem miernikiem (zresztą poza VCC, GND, AVCC i RESET na wszystkich portach jest 0). Na resecie jest stan wysoki, co też sprawdziłem miernikiem. Nie zmieniałem fuse bitów.
Podejrzewam, że robię jakiś prosty błąd - jak to początkujący. Jeśli ktoś ma jakiś pomysł co z tym zrobić, to będę bardzo wdzięczny za wszelkie wskazówki.