- posted
19 years ago
LPT<>USB
- Vote on answer
- posted
19 years ago
wróżka ma wychodne. Musisz samemu zobaczyć jaki adres został przydzielony. Ale na ogół są to adresy > 0x1000
jest jeszcze STK500, też alternatywa
Waldek
- Vote on answer
- posted
19 years ago
Michał napisał(a):
nie wiem jak to jest pod Windowsami, ale pod Linuksem sterowniki takich zabawek pozwalają na dokładnie to samo co zwykły port równoległy, więc jeśli programator nie korzysta z portu z pomocą systemu, zamiast grzebać bezpośrednio po portach, powinno działać. po prostu sprawdź, czy program, którego używasz, pozwala Ci wybrać port LPT obsługiwany przez konwerter. jeśli tak, to są duże szanse, że zadziała.
w.
- Vote on answer
- posted
19 years ago
zdaje się, że te programatory idą bezpośrednio na nogi LPT. Drivery USB pakują się na ogół na adresy >> 0x400, czyli bardzo nie dosowe.
Waldek
- Vote on answer
- posted
19 years ago
Waldemar napisał(a):
nie rozumiem za bardzo, o czym piszesz. co ma wspólnego port LPT z portem na którym chodzi host USB?
w.
- Vote on answer
- posted
19 years ago
Konwerter LPT-USB nie ma swojego adresu I/O. Ma tylko adres jak kazde inne urzadzenie USB ale nic po nim. Programatory korzystajace z portu LPT do sterowania "recznego" kazdym pinem (do kabelka STK200) musza znac adresy standardowych rejestrow portu LPT (portu drukarki). Takie adresy I/O maja tylko wbudowane w plyte glowna porty LPT i porty kart PCI. Jezeli mozesz wsadzic do komputera taka karte PCI zamiast przejsciowki USB-LPT, bedzie to najlepsze rozwiazanie. Chyba ze masz laptopa. :-(
Bardzo dobrze z kartami I/O na magistrali PCI (np. 2xCOM+LPT) dziala ISP Programmer:
- Vote on answer
- posted
19 years ago
Adam Dybkowski napisał(a):
nie można portu równoległego obsłużyć jakoś przez CreateFile()? pytam, bo nie znam się za bardzo na WinAPI.
w.
- Vote on answer
- posted
19 years ago
tak trochę na skróty napisałem. Niektóre drivery USB/LPT mapują adres "niby"LPT w przestrzeń adresową procesora. Tylko niestety dla zabytkowych programów na ogół dość wysoko (podobnie zresztą jak karty PCI), czyli gdzieś w okolicach 0x4000 i wyżej.
Waldek
- Vote on answer
- posted
19 years ago
Witam!
Nie mam co prawda programatora na coś innego jak LPT (mój laptop jeszcze taki posiada :), ale używam często uisp:
Serial (RESET=RTS SCK=DTR MOSI=TXD MISO=CTS) dasa Serial (RESET=!TXD SCK=RTS MOSI=DTR MISO=CTS) dasa2 Serial (RESET=!DTR SCK=RTS MOSI=TXD MISO=CTS) dasa3
Co by znaczyło, że lata przez RS232. Przelotkę USB->RS232 łatwo dostać i zazwyczaj programy nie grzebią bezpośrednio po rejestrach, tylko używają API win (nie wiem jak uisp -> go to source).
Nie używałem go i nie robiłem, ale wydaje mi się, że całośc opierała by się na paru diodach ograniczających napięcie, albo na MAX232. Schematu nie ma, ale oglądajac źródła do uisp można pewnie łatwo do tego dojść.
- Vote on answer
- posted
19 years ago
Waldemar Krzok napisał(a):
teraz rozuuumiem. tylko czy przypadkiem programy działające pod kontrolą Windowsów nie mają dostępu do co najmniej 16-bitowej przestrzeni I/O?
w.
- Vote on answer
- posted
19 years ago
Sebastian Bialy napisał(a):
problem w tym, że część przelotek albo w ogóle nie obsługuje break (ustawienie niskiego stanu na TXD na stałe), albo sterownik nie wie o takiej możliwości, przez co mogą być drobne problemy. dlatego w takim przypadku najlepiej użyć drugiego wariantu, bo RESET można ewentualnie wymusić na czas programowania.
inna sprawa, że takie rozwiązanie musi być niesamowicie wolne. każda zmiana bitu to transmisja po USB kilku(nastu) bajtów. już lepiej złożyć sobie AVR910 albo STK500.
w.
- Vote on answer
- posted
19 years ago
dostęp to i mają, ale czy z niego korzystają to inna parafia tego kościoła. Niektóre mają zadrutowany max na < 0x400 i buda. A nawet nowym programom zdarza się, że mają COM1-4 i LPT1-3, choć nie idą na nogi, tylko korzystają z funkcji kernelowej. Niedawno takiego nieudacznika przerabiałem, na szczęście było źródło programu i dało się przerobić na COM1-20 ;-)
Waldek