Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięProgramator wg kit'u AVT 871 - nie działa ?
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam
Wykonałem programator we własnym zakresie wg kitu AVT 871 dla układu AT90S2313 z wykorzystaniem układu 74HCT244N. Po zlutowaniu wszystkiego i podlaczeniu poprzez LPT (SPP) do komputera i pobraniu napiecia +5V z portu joysticka program BASCOM - AVR nie widzi go nawet ustawiając programator na STK200/STK300. Program podaje: "Could not identify chip with ID: FFFFFF". Zmienilem nawet kwarc na 8Mhz z 4Mhz ale to samo jest. Posprzwdzalem luty czy dobrze trzymaja i jest ok. Programator sprawdzalem na roznych sprzetach z Win98SE. Prosze o pomoc poniewaz wydalem juz troche pieniedzy na elementy a teraz nic nie chce dzialac.
Za wszelka odpowiedz serdecznie dziekuje.
Z powazaniem
M.K.
Wykonałem programator we własnym zakresie wg kitu AVT 871 dla układu AT90S2313 z wykorzystaniem układu 74HCT244N. Po zlutowaniu wszystkiego i podlaczeniu poprzez LPT (SPP) do komputera i pobraniu napiecia +5V z portu joysticka program BASCOM - AVR nie widzi go nawet ustawiając programator na STK200/STK300. Program podaje: "Could not identify chip with ID: FFFFFF". Zmienilem nawet kwarc na 8Mhz z 4Mhz ale to samo jest. Posprzwdzalem luty czy dobrze trzymaja i jest ok. Programator sprawdzalem na roznych sprzetach z Win98SE. Prosze o pomoc poniewaz wydalem juz troche pieniedzy na elementy a teraz nic nie chce dzialac.
Za wszelka odpowiedz serdecznie dziekuje.
Z powazaniem
M.K.
Czy plytki robiles sam czy tez kupowales? Jesli robiles plytke dla procesora 2313 z godnie z plytka z Ep to tam kondensator C2 jest podpiety miedzy plusa a reset a powinien byc miedzy plus a minus. Teraz zrob taki test. Wyciagnij uklad 244 z podstawki i sprawdz czy nie ma zwarc miedzy jego pinami. Jesli nie ma to teraz zrob za pomoca krotkich przewodow polaczenia w podstawce 244 wedlug tej rozpiski
I teraz podepnij do programatora plytke procesora (bez 2313) i spraw czy sa przejscia wedlug tej rozpiski
Jesli sa przejscia miernik wskazuje zwarcie to znaczy ze jest dobrze. Jesli nie zrobiles zwor na zlaczu LPT miedzy pin 2 => 12 i 3 => 11 to zrob teraz. Zasil uklad z dobrego (pewnego zrodla) zasilacza 5V i sprawdz czy jest 5V na pin 20 244 i pin 20 2313. Proponuje Ci zrobic tez przycisk reset ktory podepniesz do pin 1 ukladu 2313 a GDN. Teraz wloz z powrotem scalaki jesli sa dobre (nie padly) odpal Bascoma i powinno byc dobrze
Kod: Zaznacz cały
pin pin (podstawka ukladu 244)
6 => 12
2 => 18
13 => 3
9 => 11
Kod: Zaznacz cały
LPT 2313
pin pin
6 => 19 (SCK)
7 => 17 (MOSI)
9 => 1 (RES)
10 => 18 (MISO)
25 => 10 (GDN)
Programator AVT 871
Tak programator (płytke) wykonywałem sam i rzczywiście kondensator C2 z płytki B jest podpięty z jednej strony do RESET i dlatego tez wylutowalem go i podpialem do masy. Sprawdziłem rownież połączenie taśmowe między płytkami i wszystko w porządku. Niestety układ 244 mam wlutowany na stałe bez podstawki. Podłączyłem jeszcze raz do LPT i nadal nie moze zidentyfikować BASCOM-AVR. Zrobie jeszcze sprawdzenie połączenia według opisu.
Dziekuje za odpowiedź.
Z poważaniem
M.K.
Dziekuje za odpowiedź.
Z poważaniem
M.K.
Jesli dobrze wykonales plytki i na pewno nie ma bledow to na plytce programatora pin 8 Lpt jest polaczony z pin 4 244 (1A2). A jego wyjscie pin 16 (1Y2) nie jest nigdzie podlaczone. Dlatego proponuje Ci podlaczyc pod to wyjscie diode Led i opornik podlaczony pod +5V wedlug tego schematu.
I do tak przygotowanego programatora podlacz pewne zasilanie 5V (pewne znaczy zewnetrzne by miec pewnosc ze zasilanie nie ma wplywu na zachowanie ukladu). Pin 8 Lpt to jest D6 portu drukarki i ustawiajac na nim 0 powodujesz ze dioda bedzie swiecic a 1 ze zgasnie. Ustawienie 1 na tym bicie to jakbys wyslal na port 64 dziesietnie. Ale zeby takie sterowanie bylo mozliwe musisz jeszcze podac na pin 1 244(1G) czyli 5 pin Lpt 0 zeby 244 przepuszczal sygnal. Jesli na pin 1 244 bedzie 1 bez wzgledu co ustawisz na D6 dioda nie bedzie swiecic. Za sterowanie pin 1 244 odpowiada D3 portu Lpt. Ustawienie 1 na tym porcie masz jesli podasz dziesietnie 8. A tu masz dwa przyklady programu Qbasic.Tu masz mozliwosc podania 5 roznych wartosci od 0 do 255 i przez podanie odpowiedniej wartosi zapalac i gasic Led
Tu z kolei jest podane na port drukarki od 0 do 255 co objawia sie miganiem diody (nie cyclicznie) Jesli potych testach dioda swieci to oznacza ze Twoj programator dziala.
Teraz zciagnij sobie z tego linka ispprog i w opcji setup ustaw STK 200/300. Teraz podlacz swoja plytke z procesorem i nacisnij Restart na konsoli programatora i Read singnature
BTW Czy ktos wie jaki jest odpowiednik rozkazow basic'a out &Hxxx, xxx i inp(&Hxxx) w C?
Kod: Zaznacz cały
R 220-510R ^^ Led (jaki kolwiek)
---- ||
+5V *----| |-----|>|-------* 16 pin 244
----
Kod: Zaznacz cały
REM *** Tester programatora stk 200 by :) ACeK ***
PRINT "test portu drukarki o adresie H378"
FOR i = 1 TO 5
z = INP(&H378)
PRINT "Licznik = ", i, "LPT = ", z
PRINT "podaj liczbe do zapisania w lpt"
INPUT a
OUT &H378, a
NEXT i
Kod: Zaznacz cały
REM *** Tester programatora stk 200 by :) ACeK ***
PRINT "test portu drukarki o adresie H378"
FOR i = 0 TO 255
z = INP(&H378)
PRINT "Licznik = ", i, "LPT = ", z
OUT &H378, i
FOR ii = 1 TO 2000: NEXT ii
NEXT i
OUT &H378, 0
Teraz zciagnij sobie z tego linka ispprog i w opcji setup ustaw STK 200/300. Teraz podlacz swoja plytke z procesorem i nacisnij Restart na konsoli programatora i Read singnature
BTW Czy ktos wie jaki jest odpowiednik rozkazow basic'a out &Hxxx, xxx i inp(&Hxxx) w C?
inp()BTW Czy ktos wie jaki jest odpowiednik rozkazow basic'a out &Hxxx, xxx i inp(&Hxxx) w C?
http://msdn.microsoft.com/library/defau ... ._inpd.asp
outp()
http://msdn.microsoft.com/library/defau ... _outpd.asp
a tu problemy z tym związane (dla kernela NT/2K/XP), w '95, '98 nie występują
http://support.microsoft.com/default.as ... -us;112298
Thx tasza za pomoc.
silos sprawdz jak masz ustawiony port drukarki w BIOS powinno byc EPP a tu masz te same programy co w poscie wyzej
silos sprawdz jak masz ustawiony port drukarki w BIOS powinno byc EPP a tu masz te same programy co w poscie wyzej
Kod: Zaznacz cały
// Tester programatora STK 200 by :) ACeK
// Thx tasza ;)
#include <conio.h>
#include <stdio.h>
unsigned short lpt = 0x378;
int data;
int count;
main()
{
puts("test portu drukarki o adresie H378");
for (count = 1; count < 5; count++)
{
data = _inp(lpt);
printf("\nLicznik = %d LPT = %d", count, data);
puts("\n\npodaj liczbe do zapisania w lpt\n");
scanf ("%d", &data);
_outp(lpt, data);
}
return 0;
}
Kod: Zaznacz cały
// Tester programatora STK 200 by :) ACeK
// Thx tasza ;)
#include <conio.h>
#include <stdio.h>
unsigned short lpt = 0x378;
int data;
int count;
int count1;
main()
{
puts("test portu drukarki o adresie H378");
for (count = 0; count < 255; count++)
{
data = _inp(lpt);
printf("\nLicznik = %d LPT = %d", count, data);
_outp(lpt, count);
for (count1 = 0; count1 < 65535; count1++);
}
return 0;
}
ACeK
jak to przypadkiem byś kompilował pod okna w VC++ albo jakimś Borland C++ Builderem to jest taka funkcja:
to tak btw
i już mnie nie ma
jak to przypadkiem byś kompilował pod okna w VC++ albo jakimś Borland C++ Builderem to jest taka funkcja:
Kod: Zaznacz cały
void Sleep( DWORD dwMilliseconds /*sleep time*/ );
Kod: Zaznacz cały
for (count1 = 0; count1 < 65535; count1++);
Thx jeszcze raz. Uzywam Dev-C++[ver.4.9.92]
BTW Co zrobic by chcialo dzialac z NT ?
Kod: Zaznacz cały
// Tester programatora STK 200 by :) ACeK
// Thx tasza ;)
#include <conio.h>
#include <stdio.h>
unsigned short lpt = 0x378;
int data;
int count;
main()
{
puts("test portu drukarki o adresie H378");
for (count = 0; count < 255; count++)
{
data = _inp(lpt);
printf("\nLicznik = %d LPT = %d", count, data);
_outp(lpt, count);
sleep (50); // by tasza
}
return 0;
}
BTW Co zrobic by chcialo dzialac z NT ?
najpierw tu:
viewtopic.php?p=49871
potem to:
viewtopic.php?p=49871
potem to:
Kod: Zaznacz cały
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define LPT_ADDRESS 0x378
int main(int argc, char* argv[]) {
//++ verify direct IO access
HANDLE h = CreateFile(
"\\\\.\\giveio",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
if( h == INVALID_HANDLE_VALUE ) {
printf ("ałć: 'giveio.sys' nie (ma|działa)\n");
return FALSE;
}
CloseHandle(h);
//-- verification
unsigned char nData = 0;
while ( 1 ) {
_outp ( LPT_ADDRESS, nData );
nData++;
Sleep (100);
if ( kbhit() ) {
break;
}
} //while
return 0;
}
Zapytanie kompilacja pod Dev C++ 4.9.9.1 ?
Przepraszam ze jeszcze raz zapytam glupio ale sciagnalem darmowe srodowisko do C++ i wstawilem kod napisany w tym watku dla Dev C++ podany wyzej jednak nie moze mi znalezc deklarazji dla funkcji _inp i _outp a jak sprawdzalem to w moich naglowkowych plikach conio.h nie ma tego. Wyszukiwalem tez w internecie ale nie znalazlem. Czy moja wersja podstawowa Dev-C++ moze tego nie zawierac ?
Za wszelka odpowiedz serdecznie dziekuje
Z powazaniem
Silos
Za wszelka odpowiedz serdecznie dziekuje
Z powazaniem
Silos
Nie wiem dlaczego Ci sie nie kompiluje ja uzywam ver. Dev-C++ 4.9.9.2 ktora jest w linku w poscie wyzej. Sprawdzilem na dwoch kompach i dziala oprocz tego sprawdzilem na Ms VC++ i rowniez dziala. Jak chcesz to przeslij mi na pw Twoj mail to Ci wysle exe (jesli dalej masz klopot)
BTW Na tej stronie w projektach elektronicznych => Wyswietlacze LCD jest fajny program do monitorowania rejestrow LPT pod tytulem WinPort i tym programem mozesz zapalac i gasic poszczegolne bity na szynie danych oraz rejest sterujacy i uzywajac miernika sprawdzic co i jak
BTW Na tej stronie w projektach elektronicznych => Wyswietlacze LCD jest fajny program do monitorowania rejestrow LPT pod tytulem WinPort i tym programem mozesz zapalac i gasic poszczegolne bity na szynie danych oraz rejest sterujacy i uzywajac miernika sprawdzic co i jak
Kod: Zaznacz cały
Rej We/Wy Lpt Rej Wejsc Lpt Rej Kontr Lpt
D0 => 2 pin S3 => 14 pin CO => 1 pin
D1 => 3 pin S4 => 13 pin C1 => 14 pin
D2 => 4 pin S5 => 12 pin C2 => 15 pin
D3 => 5 pin S6 => 10 pin C3 => 17 pin
D4 => 6 pin S7 => 11 pin
D5 => 7 pin
D6 => 8 pin
D7 => 9 pin
Sprawdzenie AVT 871
Sprawdzalem programem WinPort zapalanie diody podlaczonej do nozki 16 244 poprzez D6 (pin8) i dziala prawidlowo dioda gasnie lub zapala sie w zaleznosci od stanu. Teraz wzialem program ISP Programmer i ustawilem odpowiednio w setup'ie typ zrobilem restart i read signature jednak otrzymalem wynik : NOT KNOWN (FF, FF, FF). Probowalem rowniez odczytac EEPROM lub Flash jednak otrzymuje komunikat: Can't read locked or nor known MCU a uklad jest czysty i nieuzywany do tej pory. Czyli z tego moze wynikac ze AT90 moze byc uszkodzony popniewaz w innych programach do programowania podobnie jest. Ukladu w sklepie nie chca mi juz wymienic.
Dziekuje za odpowiedzi.
Z powazaniem
M.K.
[ Dodano: 09-06-2005, 11:16 ]
Witam
Sprawdzilem programator programem podanym przez Pana ACeK w QBasic i dioda miga a potem juz swieci. Port drukarki przestawialem zarowno na EPP jak i ECP jednak nie moge nic odczytac nawet PonyProg po odpowiednim skonfigurowaniu.
Dziekuje
M.K.
Dziekuje za odpowiedzi.
Z powazaniem
M.K.
[ Dodano: 09-06-2005, 11:16 ]
Witam
Sprawdzilem programator programem podanym przez Pana ACeK w QBasic i dioda miga a potem juz swieci. Port drukarki przestawialem zarowno na EPP jak i ECP jednak nie moge nic odczytac nawet PonyProg po odpowiednim skonfigurowaniu.
Dziekuje
M.K.
Jak jeszcze raz napiszesz pan to juz wiecej nic do Ciebie nie napisze
Jedno pytanie czy zrobiles zwory o ktorych pisalem wczesniej miedzy 2 i 12 pin oraz 3 i 11 pin Lpt?
To co sprawdziles to jest tylko polowa ukladu 244 (sterowanie przez gate pin 1) i majac program WinPort proponuje Ci sprawdzic druga jego czesc to znaczy sterowne przez pin 19. I sprawdz wszystkie piny w taki sposob ze zmieniajac wartosci na odpowiednim bit D (Lpt) sprawdzasz czy na odpowiadajacym pinie procka zmienia sie stan (sprawdzasz miernikiem napiecie gdzie: 1 to okolo 5V a 0 to okolo 0.02) w ten sposob sprawdzisz przejscie i czy nie zamieniles miedzy soba sygnalow. Mala wskazowka jak bedziesz zmienial bity to wszystkie ustaw na 0 to dzieki temu jak bedziesz podawal 1 na sprawdzany bit nie bedzie watpliwosci ze jest to podane z innego bitu. To dodatkowe sprawdzenie jest po to by calkowicie rozwiac watpliwosci co do dzialania 244 choc mysle ze skoro sterowanie dioda Led dziala to i on caly jest sprawny. Zmieniajac D0 i D1 (jesli zrobiles zwory) zmieniasz stan na S5 i S7.
Jesli wszystko dziala to znaczy ze padl procesor i jedyny sposob zeby sie przekonac jest podlaczenie innego. Tak to juz jest ze czasem nowe i nie dzialaja dlatego warto miec kilka by moc zrobic testy i sprawdzic przez podmiane (co nie raz bardzo oszczedza czas) proponuje tez uzywac podstawki bo jak cos nie idzie jak trzeba to mozna latwiej testowac badany uklad. Z innym prockiem po takim wnikliwym sprawdzeniu Twojego programatora pewnie bedzies hulal na calego
BTW pablo666 jak bys dalej nie wiedzial o jakim schemacie 244 jest tu napisane to tu masz linka AVT 871 a tu inny 244
Jedno pytanie czy zrobiles zwory o ktorych pisalem wczesniej miedzy 2 i 12 pin oraz 3 i 11 pin Lpt?
To co sprawdziles to jest tylko polowa ukladu 244 (sterowanie przez gate pin 1) i majac program WinPort proponuje Ci sprawdzic druga jego czesc to znaczy sterowne przez pin 19. I sprawdz wszystkie piny w taki sposob ze zmieniajac wartosci na odpowiednim bit D (Lpt) sprawdzasz czy na odpowiadajacym pinie procka zmienia sie stan (sprawdzasz miernikiem napiecie gdzie: 1 to okolo 5V a 0 to okolo 0.02) w ten sposob sprawdzisz przejscie i czy nie zamieniles miedzy soba sygnalow. Mala wskazowka jak bedziesz zmienial bity to wszystkie ustaw na 0 to dzieki temu jak bedziesz podawal 1 na sprawdzany bit nie bedzie watpliwosci ze jest to podane z innego bitu. To dodatkowe sprawdzenie jest po to by calkowicie rozwiac watpliwosci co do dzialania 244 choc mysle ze skoro sterowanie dioda Led dziala to i on caly jest sprawny. Zmieniajac D0 i D1 (jesli zrobiles zwory) zmieniasz stan na S5 i S7.
Jesli wszystko dziala to znaczy ze padl procesor i jedyny sposob zeby sie przekonac jest podlaczenie innego. Tak to juz jest ze czasem nowe i nie dzialaja dlatego warto miec kilka by moc zrobic testy i sprawdzic przez podmiane (co nie raz bardzo oszczedza czas) proponuje tez uzywac podstawki bo jak cos nie idzie jak trzeba to mozna latwiej testowac badany uklad. Z innym prockiem po takim wnikliwym sprawdzeniu Twojego programatora pewnie bedzies hulal na calego
BTW pablo666 jak bys dalej nie wiedzial o jakim schemacie 244 jest tu napisane to tu masz linka AVT 871 a tu inny 244
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 33 gości