Od niedawna posiadam programator Atmel ICE (w wersji PCBA, ale to raczej bez znaczenia) oraz najnowsze Atmel Studio. Zauważyłem, że bardzo często mam problem z zaprogramowaniem układu. Najczęściej objawia się to poniższym komunikatem.
Cytuj:
Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00
Na początku myślałem, że może MCU jakiś dziwny, bo programuję ATmega88P przy użyciu ISP, a potem przełączam się na DW. Podejrzewałem, że MCU ma problem z tym ciągłym przełączaniem, bo zwykłą ATmega8A zaprogramował mi po ISP bez problemu. Ale nie, ostatnio zakupiłem ATtiny24A (tutaj podobnie jak w przypadku ATmega88P mamy ISP oraz DW) i też był problem. Nówka sztuka wyjęta z opakowania i nawet sygnatury odczytać nie można. Próbowałem wszystkiego: restart Atmel Studio, odłączanie/podłączanie programatora, wyłączanie/włączanie układu, restart komputera i kombinacje powyższych. Nic. Podłączyłem działającą wcześniej ATmega88P. Też nic. Po jakimś czasie zaskoczyło i ATmega88P zaczęła działać. Podpinam ATtiny24A i też działa. Próbowałem różnych kombinacji przełączania się między ISP i DW i ciągle wszystko działało. A pamiętam, że podobny scenariusz przerabiałem już wcześniej wiele razy - długo nic nie działa, pach i nagle wszystko zaczyna działać mimo, ze nic się nie zmieniło.
Sprawdzałem multimetrem stykówkę, kabelki w poszukiwaniu jakiegoś niestykania i nic nie znalazłem. Czy w związku z tym, możliwe, aby to była wina programatora? Trudno mi uwierzyć, że może być wadliwy a do tego raz działać, a raz nie. Prędzej uwierzę w to, że to czarna magia. Jakby był uszkodzony to chyba nigdy by nie działał. Może to jakieś ładunki elektrostatyczne, kable za długie, coś z portem USB w komputerze?
Dodam jeszcze, że kabelek od programatora do stykówki ma około 15cm, a przewód USB od programatora do komputera ma około 1m - kabel od telefonu. Programator jest zamknięty w obudowie z PLA. Oprogramowanie programatora również zaktualizowane do najnowszej wersji.