logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ZL15AVR - USBASP działa na 5 V z programem AVRdude tylko jednorazowo.

Shino1024 14 Kwi 2015 17:52 1341 11
REKLAMA
  • #1 14616980
    Shino1024
    Poziom 8  
    Witam, to mój pierwszy post.
    Mam pewien problem związany z zestawem uruchomieniowym AVR ze sklepu Kamami.pl. Jest to ZL15AVR, który przyszedł z mikrokontrolerem ATmega32-16PU 1116. Zakupiłem do wszystkiego programator USBASP ze sklepu Telmal z Allegro, możecie sobie wyszukać.
    Jestem początkujący i mam problem z programowaniem zestawu, otóż do USBASP była dołączona taśma, którą wykorzystałem do podłączenia programatora z mikrokontrolerem. Na komputerze mam zainstalowany Linux, ściągnąłem na niego najnowszą wersję AVRdude. Ustawiłem zworkę na programatorze na 5 V i podłączyłem do komputera. Dioda sygnalizująca zasilanie zapaliła się. Z Internetu pobrałem następujący program do zaświecenia pojedyńczej diody po naciśnięciu przycisku, był napisany w C i przygotowany dla ZL15AVR - skompilowałem go w Eclipse Luna z wtyczką AVR, a następnie wgrałem do mikrokontrolera. Zaznaczam, iż to był pierwszy raz od podłączenia programatora, gdy wywołany był AVRdude (wtedy Eclipse automatycznie go włączył, by wykonać flash mikrokontrolera). Kiedy spróbowałem wgrać ten program jeszcze raz, AVRdude wyświetlił błąd rc=-1. Program działał na ZL15AVR. Po wywołaniu w terminalu polecenia AVRdude z odpowiednimi parametrami (wybranie odpowiedniego mikrokontrolera i programatora) pojawił się ten sam błąd. Odłączyłem i podłączyłem programator - AVRdude zadziałał, ale tylko pierwszy raz, tak jak z Eclipse. Na Windows był ten sam błąd w tych samych okolicznościach, AVRdude zadziałał tylko pierwszy raz od podłączenia programatora. Spróbowałem więc zmienić zworkę na programatorze na 3.3 V i okazało się, że programator działał normalnie, aczkolwiek w tym trybie mój program nie chciał działać na mikrokontrolerze (mogłem tylko go wgrać). Zmodyfikowałem program na stronie, by włączał 2 diody po przyciśnięciu przycisku i wgrałem go na 3.3 V - po przełączeniu na 5 V okazało się, że działał, po naciśnięciu zaświeciły się 2 diody. Wychodzi na to, że mogę programować na 3.3 V, zaś program działa na 5 V. Rozmawiałem z jednym gościem na ten temat i on powiedział, że mogłem rozwalić lock bity i wcisnął mi kabel RS232. Nie wiem, czy coś jest nie tak czy tak właśnie powinno być, ale nie mogłem w Internecie znaleźć informacji na ten temat. Zanim kupię nową ATmegę do ZL15AVR oraz nowy programator, chciałem zadać właśnie to pytanie na Elektrodzie, czy takie zachowanie mikrokontrolera jest normalne, czy coś nie gra.
    Proszę o szybką odpowiedź i pozdrawiam.
  • REKLAMA
  • #2 14617039
    dondu
    Moderator na urlopie...
    Witamy na forum :)

    Od razu rozwieję wątpliwości dot. programatora - na 99,9% jest sprawny i wielu czytelników posiada ten programator.
    Jeśli nie grzebałeś w fusebitach mikrokontrolera, to także jest on sprawny i nie musisz kupować nowego.

    Pokaż komunikaty AVRdude.
  • REKLAMA
  • #3 14617075
    Shino1024
    Poziom 8  
    Hejka.
    Okej, czyli 15 złotych mam zaoszczędzone, hah. Przed chwilą jeszcze raz wgrałem ten programik, żeby się upewnić, że wszystko jest tak, jak opisałem.
    
    ahino@shino-Satellite:~$ avrdude -c usbasp -p m32
    
    avrdude: error: programm enable: target doesn't answer. 1 
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
    
    
    avrdude done.  Thank you.
    

    To pojawiło się po drugim włączeniu AVRdude, poniżej zaś to, co się pojawiło pod pierwszym od podłączenia USBASP:
    
    ahino@shino-Satellite:~$ avrdude -c usbasp -p m32
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.01s
    
    avrdude: Device signature = 0x1e9502
    
    avrdude: safemode: Fuses OK (H:FF, E:D9, L:FF)
    
    avrdude done.  Thank you.
    

    Mój program wygląda tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Wzorowałem się na programie z Internetu.
  • #4 14617095
    dondu
    Moderator na urlopie...
    Program na razie nie jest istotny - skupić się należy na tym dlaczego USBasp nie widzi mikrokontrolera.

    Czy dobrze rozumiem, że jeżeli odłączysz USBasp od komputera i ponownie włączysz, to ponownie możesz raz (i tylko raz) prawidłowo skomunikować się z mikrokontrolerem?
  • #5 14617137
    Shino1024
    Poziom 8  
    Tak, zgadza się. Jest tak tylko na 5 V. Program działa na mikrokontrolerze, naciskam przyciski i diody się świecą.
    W przypadku 3.3 V komunikacja przebiega poprawnie cały czas, ale diody się nie świecą po przytrzymaniu przycisków.
  • #6 14617295
    dondu
    Moderator na urlopie...
    Masz płytkę stykową lub podstawkę pod ten mikrokontroler lub inny wolny mikrokontroler AVR?

    Warto byłoby spróbować podpiąć sam mikrokontroler i sprawdzić jego współdziałanie z programatorem, by wykluczyć wpływ ZL15AVR na ten problem. Należy jednak pamiętać, że ten mikrokontroler masz ustawiony na zewnętrzny kwarc.
  • REKLAMA
  • #7 14617317
    Shino1024
    Poziom 8  
    Mam płytkę stykową i drugi mikrokontroler, ATmega328. Co ciekawe, ATmega328 nie chciała działać po podłączeniu jej do płytki stykowej i podłączeniu programatora w odpowiednich miejscach na płytce, po prostu wyświetlał się podobny błąd.
  • REKLAMA
  • #9 14617843
    Shino1024
    Poziom 8  
    Podłączyłem ATmega32 do płytki stykowej i uważnie sprawdziłem wszystkie połączenia, jednak AVRdude nie chciał działać w żadnym przypadku, ani 5, ani 3.3 V. Na szczęście wiem, że nic się nie stało, gdyż po podłączeniu z powrotem do ZL15AVR dalej działała, diody świeciły się, gdy trzymałem przyciski. Jeśli chodzi zaś o ATmega328, nic nie grzebałem, po prostu podłączyłem według schematu w Internecie i AVRdude niczego nie wykrył.
  • #10 14617861
    dondu
    Moderator na urlopie...
    Aby rozwiązać Twój problem nie możemy bazować na Twoich stwierdzeniach, że coś nie działa i kropka.
    Musimy Ciebie sprawdzać, ale nie mamy jak, bo nie dajesz nam materiałów do analizy.

    Shino1024 napisał:
    Podłączyłem ATmega32 do płytki stykowej i uważnie sprawdziłem wszystkie połączenia, ...

    Zrób to jeszcze raz i pokaż zdjęcia tylko ostre, dobrze oświetlone i z wielu stron.
    Wszystko łącznie z podłączeniem do programatora i sam programatora także.
  • #12 14816501
    plenin
    Poziom 18  
    Na zdjęciach nie widać abyś miał podłączony RST
REKLAMA