Sterowanie urzadzeniem

Radoslaw Kojdecki radek w media-com.com.pl
Śro, 12 Lis 2003, 13:44:08 CET


On Wed, 12 Nov 2003, Daniel Mroz wrote:
> > 	Mam klopot. Chce zrobic sterowanie urzadzeniem z kompa. Wumyslilem 
> > sobie, ze mozna uzyc do tego portu rownoleglego. Jest tam 8 lini danych 
> > d0-d7 dzieki ktorym mozna by  otwierac i zamykac 8 obwodow. Tu misja 
> > rozwidla sie na dwa problemy:
> > 1). Jak w PLD zapalac i gasic linie danych na wybranym porcie rownoleglym.
> > 2). Czy ktos widzial schemat tego typu urzadzenia?
> > Bardziej zalezy mi na odpowiedzi na pierwsze. Z drugim poradze sobie nie w 
> > ten to w inny sposob
> Pogooglaj, powinienes wpasc na kilka gotowych rozwiazan. Kiedys w
> bodajrze Linux+ byl przyklad oprogramowania portu rownoleglego w C, mam
> w domu ten numer, wiec jakby co sluze pomoca. Podejrzewam jednak, ze w
> Internecie znajdziesz bardziej szczegolowe informacje na ten temat.
> Co do schematu, to kiedys zaprojektowalem sobie cos takiego pod port
> rownolegly. Obawiam sie, ze juz nie znajde schematu, ale projekt byl
> banalnie prosty (na TTLach), wiec nie sadze zebys potrzebowal pomocy w
> tej kwestii :)
> 

Bezposrednio do D0-D7 podepnij wejscia ukladu np. 7406. Bedziesz mial na 
wyjsciu otwarty kolektor ktory spokojnie wysteruje np. przekaznik 
podciagniety do 12V (nie zapomnij o diodzie rownolegle do przekaznika).

A pozniej cos w stylu :

#define LPT_PORT        0x378
#define RESET_TIME      5

#include <sys/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


int lpt_reset () {
        if ( ioperm ( LPT_PORT, 1, 1 ) == 0 ) {
                outb ( 1, LPT_PORT );
                sleep ( RESET_TIME );
                outb ( 0, LPT_PORT );
                ioperm ( LPT_PORT, 1, 0 );
                return 0;
        } else {
                fprintf ( stderr, "ERROR: ioperm ()\n" );
                exit ( EXIT_FAILURE );
        };
        return -1;
}

main () {
        lpt_reset ();
};



To akurat wystawia najpierw "1" na D0 outb (1,...) a po 5 sekundach 0 outb 
(0,....).


pozdro.,

Radek
-- 
---------------------------------------------------------------------
Media-Com Sp. z o.o.                       43-100 Tychy, ul. Długa 19
http://www.media-com.com.pl/                    info w media-com.com.pl
---------------------------------------------------------------------



Więcej informacji o liście dyskusyjnej pld-users-pl