relé na paralelní port
Aleš Filip
nostromo na khnet.info
Pondělí Říjen 22 19:31:28 CEST 2012
Dobrý den,
Můžete mi nekdo prosím poradit ještě s jednou věcí? Potřeboval bych na
PP připojit ještě jazýčkový kontakt na detekci otevřeného okna. Jak
načíst stav toho kontaktu? Asi z PO, BUSY, ACK, apod. Dík.
S pozdravem,
--
Aleš Filip
Kutná Hora
http://xanadu.khnet.info
Dne 29.9.2012 22:52, Miroslav Mraz napsal(a):
> Marek Peca píše v So 29. 09. 2012 v 22:02 +0200:
>>> Jde,
>>> otevřít /dev/parport0 a přes ioctl() ovládáte jednotlivé bity.
>> Ano, to je ta novejsi a spravnejsi cesta. Pro pripad rychle potreby
>> uvadim svuj letity prog na ovladani rele, lec jedna se o primy pristup na
>> i/o:
> Nějak jsem si nevšiml, že to má jít jednoduše. No zase tak složité to
> není:
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <fcntl.h>
> #include <sys/ioctl.h>
> #include <string.h>
> #include <errno.h>
> #include <linux/ppdev.h>
> // argument jsou desitkova cisla
> int main (int argv, char* argc[]) {
> unsigned char wbyte;
> int i, data_dir = 0;
> int fd = open("/dev/parport0", O_RDWR);
> if (fd < 0) { // eperm: sudo chmod a+rw /dev/parport0
> fprintf(stderr, "Chyba: %s\n", strerror(errno));
> return -1;
> }
> ioctl (fd, PPCLAIM);
> ioctl (fd, PPDATADIR, &data_dir);
> for (i=0; i<argv; i++) {
> wbyte = (unsigned char) atoi (argc[i]);
> ioctl (fd, PPWDATA, &wbyte);
> // sleep (1);
> }
> ioctl (fd, PPRELEASE);
> close (fd);
> return 0;
> }
>
> Chyby ioctl() nejsou ošetřeny, bylo by to dlouhé.
>
> Mrazík
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list