STK 200/300 Bardzo dziwny objaw po zaprogramowaniu


Witam,

Od kilkunastu dni pracuję nad rozpracowaniem następującego problemu:

Programuję dowolny układ AVR za pomocą programatora STK200/300 LPT.
Po zaprogramowaniu układ jakby nie wykonuje kodu. Po prostu nie pracuje. Napięcia na wyjściach wahają się na poziomie 1,2V. Nawet po zaprogramowaniu kodem "mrugaj" nic się nie dzieje.
Program PonyProg poprawnie odczytuje fusebity, które są poprawnie ustawione.
Wkładam nowiutką atmegę do podstawki, programuję kodem typu "migacz" i dupa. Nie chce pracować. Myślałem, że może programator trzyma układ w resecie ale po odłączeniu nic się nie zmienia. Bardzo dziwny objaw. Pierwszy raz się zdarzył.

A teraz bonus. Kupiłem nowy programator, podłączyłem i znowu to samo. Na początku jeszcze pracowało normalnie a później znowu się zaczęło pierdzielić. A może to wina portu LPT ? Może z niego idzie jakiś syf, który po kilku minutach pracy pali bufor w programatorze a następnie miesza w mikrokontrolerach ?




Portret użytkownika mirley

Re: Programator

Ale taki procesor jest normalnie odczytywany przez programator? W momencie jak program w nim nie działa. Jak wygląda ten twój program, napisany jest w bascomie?

Trochę to dziwne, bo widziałem że procesor nagle się uszkadza ale brak wtedy z nim jakiejkolwiek komunikacji. Moze inne elementy pomocnicze obok procesora cos mieszają? np kwarc albo kondensatory przy nim, lub kondensator filtrujący

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika czareq

No właśnie tu jest

No właśnie tu jest ciekawostka...

Wymieniłem programator i programowałem ukłądy za pomocą płytki do programowania zasilanej z portu USB... Wtedy wszystko pracowało dobrze. Układy się programowały i działały... Ale wystarczyło abym wtyczkę programatora podłączył do innej płytki zasilanej oddzielnie i po 2-3 próbach programowania coś siadało. Specjalnie ustawiłem procka na wewnętrzny oscylator aby wykluczyć kwarc... Zauważyłem, że włączenie opcji optymalizacji kodu w bascomie powoduje, że program też nie chce się wykonać ale to już margines i teaz ta opcja jest odhaczona.

Dziwna sprawa... Masy komputera (LPT) i zasilacza płytki są połączone. Przed połączeniem sprawdziłem czy nie ma pomiędzy nimi jakiegoś napięcia (generowane od strony sieci jeżeli nie ma separacji w którymś miejscu) ale woltomierz wskazał zero. Spróbuję niedługo z programatorem USB ale raczej nie będę ryzykował... Co ciekawe po pojawieniu się tych anomalii wziąłem nowy mikrokontroler, włożyłem do podstawki na płytce zasilanej z USB i po zaprogramowaniu też nie chciał wykonywać programu... Tak jakby w programatorze coś się na tyle delikatnie uszkodziło, że program się niby ładuje i odczytuje bez problemu ale procek nie chce wykonywać swojego kodu.

Program pisałem w bascomie. Prosty program, deklaracja portu C jako wyjście, pętla do loop a w środku zmiana co sekundę wszystkich wyjść portu C... No banał...
Będę to jeszcze dalej diagnozował ale zaczynam przypuszczać, że to jakiś syf idzie od strony komputera... Na płytce z którą dzieją się problemy jest zasilanie 12V, LM7805, przed nim 1000uF, za nim 100n... Wszystko jak w podręczniku... Co ciekawe jak na początku na nowym programatorze zaprogramowałem układ na płytce zasilanej z USB a potem przełożyłem procka do płytki z zewnętrznym zasilaniem to też działał...

-

Cezary Rodziewicz
www.czareq.pl

Portret użytkownika mirley

Re: Programowanie

Pokaż ten twój program testowy.... zawsze kiedy miałem problemy z kompilacją to była moja wina bo kod źle napisałem..... mogą pojawiać się problemy z kompilacją ale po ponownym uruchomieniu bascoma zawsze było ok.

A co z zasilaniem tej drugiej płytki, z jednej strony było zasilanie z USB a z drugiej zewnętrzne, czy oba te zasilanie były zwarte? Czy masy były zwarte

Przedstaw ten swój kod

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika czareq

$crystal = 1000000 $regfile

$crystal = 1000000
$regfile "m16def.dat"

Config Porta = Output
Config Portb = Output
Config Portc = Output
Config Portd = Output

Do
Porta = 255
Portb = 255
Portc = 255
Portd = 255
Wait 1

Porta = 0
Portb = 0
Portc = 0
Portd = 0
Wait 1

Loop

-

Cezary Rodziewicz
www.czareq.pl

Portret użytkownika mirley

Re: Program

Bardzo ciekawa sprawa, spróbuj jeszcze zamiast "Config Porta = Output" dać "Config Porta = &B11111111" ale to nie powinno nic zmienić.... sam napisał bym to w taki sposób

A testowałeś na innym komputerze? Może już o to pytałem wcześniej?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

A dla zasady to może tak

A dla zasady to może tak DDRA=255