[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Odczyt w C stanu 10 pinu z LPT

robak

3/4/2007 5:07:00 PM

Witam,
nauczylem sie jak ustawiac bity przy pomocy jezyka C na maszynie z
linuksem na porcie LPT na pinach 2-9, ale jakos nie moge zrozumiec w
jaki sposób odczytac i przypisac do zmiennej stan np pinu 10 (/ACK
acknowledgement potwierdzenie odbioru danych).
Dokladnie, potrzebuje czytac stany z pinów 10 i 15.
Pomozecie? ;-)

6 Answers

Solaris

3/4/2007 5:44:00 PM

0

Dnia panskiego 4 Mar 2007 09:06:54 -0800
"robak" <Jacek.Chudyga@gmail.com> stara3 sie co? napisaa o:

: Witam,
: nauczy3em sie jak ustawiaa bity przy pomocy jezyka C na maszynie z
: linuksem na porcie LPT na pinach 2-9, ale jako? nie moge zrozumiea w
: jaki sposób odczytaa i przypisaa do zmiennej stan np pinu 10 (/ACK
: acknowledgement potwierdzenie odbioru danych).
: Dok3adnie, potrzebuje czytaa stany z pinów 10 i 15.
: Pomo?ecie? ;-)

http://www.kwant.info/projekty/elektron...
I zobacz Coffe-Howto, tam powinno bya 3adnie opisane.

Kiedy? pisa3em swój program do sterowania alarmem przez lpt, jak znajde to wystawie.

--
Born to raise hell.
Linux registered user: 408584
Contact: GG#3802676, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname

robak

3/4/2007 5:55:00 PM

0

Znam to. Tam jest tylko o zapalaniu bitów a ja potrzebuje odczytac
bity wejsciowe.

Solaris

3/4/2007 7:38:00 PM

0

Dnia panskiego 4 Mar 2007 09:54:36 -0800
"robak" <Jacek.Chudyga@gmail.com> stara3 sie co? napisaa o:

: Znam to. Tam jest tylko o zapalaniu bitów a ja potrzebuje odczytaa
: bity wej?ciowe.

A to nie by3o co? w stylu: warto?a = port[$LPT + BIT[n])?

BIT[0] = 0
BIT[1] = 1
BIT[2] = 2
BIT[3] = 4
BIT[4] = 8

Ja bynajmiej tak robi3em i mi to dzia3a3o. Ale wcze?niej w BIOSIE LPT trzeba ustawia
jako EPP/ECP

--
Born to raise hell.
Linux registered user: 408584
Contact: GG#3802676, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname

Krzysztof Rudnik

3/4/2007 11:44:00 PM

0

robak wrote:

> Witam,
> nauczy3em sie jak ustawiaa bity przy pomocy jezyka C na maszynie z
> linuksem na porcie LPT na pinach 2-9, ale jako? nie moge zrozumiea w
> jaki sposób odczytaa i przypisaa do zmiennej stan np pinu 10 (/ACK
> acknowledgement potwierdzenie odbioru danych).

Nie jestem pewny czy ten bit mozna w ogole czytac. Normalnie on zglasza
przerwanie.

--
Krzysiek Rudnik

Khorne

3/8/2007 10:21:00 AM

0

Dnia Mon, 05 Mar 2007 06:08:06 -0800, robak napisa3(a):

> Ju? wiem. Odczytuje stan portu takim programikiem:
>
> #include <stdio.h>
> #include <sys/io.h>
>
> int main ()
> {
> int stan;
>
> ioperm(0x378,3,1);
> stan=inb(0x379);

Rozumiem, ?e wiesz, ?e w/w wymaga praw roota. Takie co? powinno trafia do
sterownika i bya obs3ugiwane przez /dev.

Mo?esz uderzya do mnie na priv, d3uba3em kiedy? malenki modu3 do j?dra
steruj?cy kawa3kiem elektroniki przez LPT, mo?e Ci sie przydaa.

http://www.xml.com/ldd/cha...

--
Micha3 'Khorne' Rzechonek
http://khorne...
mail/jid: khorne@leto.homedns.org

Radoslaw Korzeniewski

3/11/2007 8:55:00 AM

0

MichaÅ? 'Khorne' Rzechonek napisaÅ?(a):
> Dnia Mon, 05 Mar 2007 06:08:06 -0800, robak napisaÅ?(a):
>
>> Już wiem. OdczytujÄ? stan portu takim programikiem:
>>
>> #include <stdio.h>
>> #include <sys/io.h>
>>
>> int main ()
>> {
>> int stan;
>>
>> ioperm(0x378,3,1);
>> stan=inb(0x379);
>
> Rozumiem, że wiesz, że w/w wymaga praw roota. Takie coÅ? powinno trafiÄ? do
> sterownika i byÄ? obsÅ?ugiwane przez /dev.
>
> Możesz uderzyÄ? do mnie na priv, dÅ?ubaÅ?em kiedyÅ? maleÅ?ki moduÅ? do jÄ?dra
> sterujÄ?cy kawaÅ?kiem elektroniki przez LPT, może Ci siÄ? przydaÄ?.
>
> http://www.xml.com/ldd/cha...
>

Ale po co pisaÄ? samemu moduÅ? do kernela jak od dÅ?uższego czasu dostÄ?pny
jest /dev/parport*. DostÄ?p do LPT za pomocÄ? funkcji: ioctl, read, write
itp. dziÄ?ki temu można nie tylko sterowaÄ? pojedynczymi bitami ale także
realizowaÄ? transfery zgodne z ieee1284.

pozdr

Radek