Witam,
Problem brzmi dość oklepanie, ale jednak jest dość dziwny - mianowicie przy identycznym połączeniu raz mkAVR calculator wykrywa mi uC, a raz nie. Mam programator usbasp firmy Atnel.
Działam na wewnętrznym oscylatorze, nigdy moja atmega nie została zmieniona na zewnętrzny kwarc, wogóle w tym nie majstrowałam jeszcze. Jedyne co zmieniłam to taktowanie na 8Mhz, ale to już jakiś czas temu na samym początku (jakiś miesiąc temu) i wszystko mi z tym działało.
Połączenie musi być prawidłowe - wgrywa mi się program, wszystko działa jak należy. Minutę później - wprowadzam drobną poprawkę do programu, chcę wgrać do uC i w Eclpisie mi pisze standardowe "rc=-1".
W tym czasie cały układ nie został nawet dotknięty, żadne połączenia nie zmienione.Czasem wszystko działa prawidłowo cały czas, a np. na następny dzień (nic nie zmieniam w połączeniach!) na początku działa, a potem już nie. Czasem wystarczy chwilę poczekać, znowu kliknąć "Sprawdź podłączony AVR" i już wykrywa oraz da się wgrać program z Eclipsa.
Ogólnie te problemy występowały raz na jakiś czas (rzadko), ale zawsze "po chwili już działało". Ale dzisiaj to już jest jakaś magia, której nie ogarniam. Raz widzi, raz nie widzi. W konsoli avrdude wyświetlają się co chwile inne komunikaty:
Kod:
avrdude_mk.exe: set SCK frequency to 187500 Hz
avrdude_mk.exe: error: programm enable: target doesn't answer. 1
avrdude_mk.exe: initialization failed, rc=-1
avrdude_mk.exe: AVR device initialized and ready to accept instructions
avrdude_mk.exe: Device signature = 0x000000
avrdude_mk.exe: Yikes! Invalid device signature.
avrdude_mk.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude_mk.exe done. Thank you.
Compiled special for http://forum.atnel.pl (v5.11.1)
Kod:
avrdude_mk.exe: set SCK frequency to 187500 Hz
avrdude_mk.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude_mk.exe: Device signature = 0x000002
avrdude_mk.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude_mk.exe: current erase-rewrite cycle count is 65279 (if being tracked)
avrdude_mk.exe: reading signature memory:
Reading | ################################################## | 100% 0.02s
avrdude_mk.exe: writing output file "E:\User\Moje dokumenty\mkAVRCalculator\sig_tmp.hex"
avrdude_mk.exe: safemode: Fuses OK
avrdude_mk.exe done. Thank you.
Compiled special for http://forum.atnel.pl (v5.11.1)
Kod:
avrdude_mk.exe: set SCK frequency to 187500 Hz
avrdude_mk.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude_mk.exe: Device signature = 0x000000
avrdude_mk.exe: Yikes! Invalid device signature.
avrdude_mk.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude_mk.exe: safemode: Verify error - unable to read hfuse properly. Programmer may not be reliable.
avrdude_mk.exe: safemode: To protect your AVR the programming will be aborted
avrdude_mk.exe done. Thank you.
Compiled special for http://forum.atnel.pl (v5.11.1)
Kod:
avrdude_mk.exe: Warning: cannot query manufacturer for device: libusb0-dll:err [control_msg] sending control message failed, win error: Urządzenie dołączone do komputera nie działa.
avrdude_mk.exe: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
avrdude_mk.exe done. Thank you.
Compiled special for http://forum.atnel.pl (v5.11.1)
Wszystkie te komunikaty wyświetlają się jeden po drugim, bez żadnych zmian w połączeniach. Np. klikam "sprawdź podłączony avr" i wyświetla się komunikat nr 1, a 20 sekund później znowu klikam i wyświetla się komunikat nr 2. Połączenia sprawdzałam już wiele razy (w końcu to tylko 7 przewodów), ale chyba najlepszym dowodem na to że są poprawne jest to, że kiedy procesor jest widziany i wygrywam program, to wykonuje się on prawidłowo i wogóle wszystko jest ok.
Założę się, że to jakaś idiotyczna moja pomyłka, więc może komuś przychodzi do głowy, w czym może być problem. Jeśli potrzebne są jeszcze jakieś informacje to proszę napisać