Code // (fwd)

Page principale

Répondre à ce message
Auteur: Guillaume Postaire
Date:  
À: guilde
Sujet: Code // (fwd)


--------
Hiroshima 45 - Tchernobyl 86 - Windows 95

POSTAIRE Guillaume eleve 1 A
ENSPS
http://inforezo.u-strasbg.fr/~postaire
E-mail : postaire@???
VP sponsors du BDE de l'ENSPS

---------- Forwarded message ----------
Date: Sun, 17 Oct 1999 17:25:14 +0200
From: Init64 <init64@???>
To: linux@???
Subject: Code //

Suite a un mail de Guy Brand me demandant le code source du port // je
vous ecris ce mail.
J'ai encore une fois perdu et pour de bon le code src lors du test d'un
minidriver en mode bloc de ma creation (ca marche pas du tout meme).
Resultat : partitions "eclates" !

Mais j'ai tout de meme des souvenirs qui vous permettront surement de
faire vos programmes.

1. Il faut tout d'abord definir l'adresse du port.
Nous le ferons ici par :

#define PORTP 0x378 // il s'agit ici de l'adresse sur PC normal

2.Ensuite, nous avons besoin des permissions pour le port parallele.
La fonction utilisee est :

#include <unistd.h> /* for libc5 */
#include <sys/io.h> /* for glibc */
int ioperm(unsigned long from, unsigned long num, int turn_on);

Nous ferons ici un

ioperm(PORTP,3,1);

Il faut biensur les privileges du root pour executer un Ioperm.
Pensez-donc a faire un
setuid(0);
setgid(0);

dans votre programme et evitez les strcpy.

3.Finalement nous realiserons des appels pour ecrire et lire sur le port
avec des fonctions telles que :

outb et inb

--> Voir les Manpages

4. Fermer le "port parallele" une fois le programme termine.
ioperm(PORTP,3,0);



C'est tout. Bon voila encore quelques indications :
    
    - le port parallele sur PC est aux normes TLL soit voltage de 0V et 5V
    - la broche 24 doit etre utilisee comme la masse
    - il est conseille de conserver l'etat du port parallele dans une
variable de type unsigned char il me semble, pour eviter "d'effacer"
certains bits actives.
    - utilsez toujours des usleep(unsigned long temps_en_microsecondes)
entre chaque lecture ou ecriture pour laisser le temps au hardware de
bosser.


Voila ce mail ce termine ici. J'espere avoir ete plutot clair.
Si vous voulez encore plus d'info concernant plutot le cote "broches et
utisation", mailez-moi.

Init64
http://altern.org/init64