eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaLCD na LPT (na USB)Re: LCD na LPT (na USB)
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.neostrada.pl!a
    tlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: BartekK <s...@N...org>
    Newsgroups: pl.misc.elektronika
    Subject: Re: LCD na LPT (na USB)
    Date: Sun, 10 May 2009 13:33:55 +0200
    Organization: TP - http://www.tp.pl/
    Lines: 38
    Message-ID: <gu6ekg$mbq$1@nemesis.news.neostrada.pl>
    References: <gu4vvc$prg$1@nemesis.news.neostrada.pl> <gu4vqp$c8i$1@news.wp.pl>
    <gu50gg$561$1@atlantis.news.neostrada.pl>
    <gu53cr$4j$1@nemesis.news.neostrada.pl>
    NNTP-Posting-Host: dlugi.drut.org
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: nemesis.news.neostrada.pl 1241955792 22906 83.18.31.34 (10 May 2009 11:43:12
    GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Sun, 10 May 2009 11:43:12 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
    In-Reply-To: <gu53cr$4j$1@nemesis.news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:563288
    [ ukryj nagłówki ]

    konrad95 pisze:
    >> Ale z tego co pamiętam to w
    >> linuksowym cat plik > /dev/usblp0 nie cięło niczego, wszystko ładnie
    >> szło co do bitu, jedynie trzeba było dobrze ustawiać PE/Busy/Ack
    > Masz może jakiś schemat jak to połączyć? Działało by to gdybym napisał
    > własny program w C? Chodzi mi czy będzie śmigać wysyłanie bitów funkcją
    > outb().
    Raczej nie ma co liczyć że outb() ci zadziała. To zupełnie inny sposób
    wysyłania danych ;)
    outb() możesz sięgać (jak ioperm zezwoli) do portów (adresów w
    przestrzeni i/o) fizycznych w komputerze, czyli w zasadzie wyłącznie
    podpiętych przez ISA/PCI/PCIe (i mobilne mutacje expresscard,Pcmcia) -
    urządzenie (tutaj port lpt) musi być w "hardwarowej" przestrzeni
    adresowej "wprost".
    A to co ja proponuje, to sterowanie przez wysyłanie danych (bajtów,
    całych, odpowiednio złożonych) do "urządzenia" wirtualnego w systemie,
    występującego przeważnie jako /dev/usblp0 albo /dev/usb/lp0 (zależnie od
    systemu i kernela). Tak samo jakbyś te bajty wysyłał do pliku, a potem
    hex-edytorem obejrzał, czy odpowiednie bity się zgadzają. Pomijając
    kwestię delayów między kolejnymi wysłanymi ("wydrukowanymi" do
    /dev/usblp0) bajtami, bo lcd tak szybko jak lpt działa, karmić się
    danymi nie da)

    http://www.hardwarebook.info/Centronics

    Upraszczając trochę - jak sobie załączysz na taką przejściówkę LPT
    drukarkę jakąś starszą-hardwarową, np jakąś igłówkę, i zrobisz komendę
    "cat plik.txt /dev/usblp0", a plik bedzie zawierac jeden bajt równy "B"
    (literę B), to komputer będzie czekał aż na porcie LPT zniknie sygnał
    BUSY (drukarka zajęta gdy =1, drukarka gotowa gdy zwarte do masy) a
    potem na liniach danych D0-D7 ustawi się 0x42 (czyli 0100 0010 binarnie)
    i drukarka wydrukuje odpowiedni znaczek, potwierdzi krótkim sygnałem
    (zwaciem do gnd) na linii /ACK - i nic więcej się nie stanie.

    --
    | Bartlomiej Kuzniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: