Skocz do zawartości

Programowanie AVR - błędy, zmieniające się odczyty fse bitów


Pomocna odpowiedź

Napisano

Witam

Dziś chciałem poprawić kod w robocie, po podłączeniu programatora bascom wyświetlił komunikat "detect micro does not atmega32" albo coś o takim znaczeniu. Po ponownym kliknięciu "identifi" uznał, że atmega32 jest podłączona. Więc wybrałem program. Program się wgrał, jednak później nie przeszedł weryfikacji... kilka kolejnych prób nie przyniosło rezultatu. Atmega - trup (nie miga ledem (pierwsze co robiła po podłączeniu zasilania), nie reaguje na switch do startowania). W akcie desperacji wszedłem w fuse bity... patrzę, a ustawione jest taktowanie z wewnętrznego oscylatora, a jtag jest włączony... zmieniłem te fusy i zaprogramowałem, po odświeżeniu znowu były inne, i tak po każdym odświeżeniu fusów, wartości są inne (zmieniają się zaledwo fusy odpowiedzialne za taktowanie, lockbity .. po prostu wszystkie). Programator i tasiemka są ok... sprawdzałem na innym układzie, w robocie chyba też... dodałem co prawda sharpa jako czujnik przeszkód, ale om jest podpinany tylko pod jeden z portów i zasilania... odłączenie go, nic nie zmienia.

Klikam write fs... ale po każdym kolejnym "refresh" są inne... To samo tyczy się odczytu zawartości flasha do bufora.

@edit

Zrobiłem trochę pomiarów. Podłączenie jest na 100% dobre. Zasilanie jest i to tylko tam gdzie powinno. Jedyne, co mnie zaskoczyło, to to, że na linii SCK i RESET atmega wystawia +5. W innych avrkach nie mam tam napięcia (dodam, że linie te nie są wykorzystywane do niczego innego niż programowanie)

@edit2

Dodam, że przed próbą przeprogramowania robot przejechał rundkę na trasie... Więc to nie wina robota.

Muszę powiedzieć, że coś z tą zmianą fuse bitów jest na rzeczy, ja np. wyłączyłem zewnętrzne taktowanie w ATmega164, a po kilku godzinach testów robota po którymś z kolei programowaniu taktowanie zewnętrzne się włączyło. Nie jest to może tak drastyczne jak u Naelektryzowanego, ale takie rzeczy nie powinny się zmieniać bez kontroli.

A masz możliwość użycia innego programatora? Czy programator inne uP programował bezbłędnie?

Pytam bo stawiałbym raczej na programator niż padnięty uP. Może to wina zbyt długiej taśmy ISP?

70cm to sporo. Gdy miałem problem z PICKit3 pierwsze pytanie supportu Microchipa było o długość taśmy programatora.

Taśmy ze złączami w standardzie KANDA mają nawet ok. 1,5m, każdy sygnał jest ekranowany masą, więc 70cm to nie jest dużo. O ile faktycznie mówimy o 10-sygnałowej tasmie 🙂

No i zawsze można zmniejszyć prędkość transmisji

Swoją drogą dondu... nawet nie wiedziałem, że są jakieś taśmy do PICkit'a. Mam wersję 2 i jest tylko 6-pinowe złącze żeńskie, zawsze zakładam bezpośrednio na goldpiny i voilla. Sam robiłeś czy można kupić gotowce?

Swoją drogą dondu... nawet nie wiedziałem, że są jakieś taśmy do PICkit'a. Mam wersję 2 i jest tylko 6-pinowe złącze żeńskie, zawsze zakładam bezpośrednio na goldpiny i voilla. Sam robiłeś czy można kupić gotowce?

Taśmę zrobiłem przede wszystkim po to by do stykówki używać: http://mikrokontrolery.blogspot.com/2011/04/plytka-stykowa-zasady.html

Można także zrobić z jedną końcówką żeńską, gdyby ktoś miał taką potrzebę.

Nie wiem czy są fabryczne, ale nawet nie szukałem.

Właśnie rozwiązałem problem... przyczyna okazała się banalna. Jako, że w robocie złącze do programowania nie jest w atmelowskim standardzie kanda.. tylko własnym tasiemka programatora była wpinana przez przejściówkę... której jeden ze styków kiepsko łączył, i ot mały drobiazg, którego rozwiązanie zajęło mi ładne parę godzin sprawdzania, a jako, że miernik ma grubsze końcówki przelotka wydawała się bez zarzutu.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...