
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.

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.

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



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




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;
}

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++);



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



BTW Na tej


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.


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




Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości