J'ai enfin trouvé un site qui montre un code C assez interressant pour linux, je l'ai fait marché.

Après l'avoir adapté à mes besoins et ma méthode de prog (je centralise souvent tout donc je crée souvent une fonction pour la moindre chose)

Pour ceux que ca interresse, la fonction act_broches contient 8 paramètres :

Ils correspondent à chacunes des broches dans l'ordre (2 à 9).

1 signifie active et 0 inactive. Donc pour par éxemple activer la broche 3 et 6, il faut faire ceci :

Code:
act_broches(0,1,0,0,1,0,0,0);
Cette fonction renvoie par ailleurs le décimal envoyé au port.

Voici donc le programe complet :

Code:
// A l'aide du site www.aqra.ca
#include <stdio.h>
#include <sys/io.h>
#include <unistd.h>
#include <stdlib.h>
#include <math.h>

#define REG_ADRESSE 0x378

// Fonction définissant les broches
int act_broches(int a, int b, int c, int d, int e, int f, int g, int h) {
	// On défini la variable
	int nbrfinal = 0;
	
	if(a==1)
		nbrfinal+= 1;
	if(b==1)
		nbrfinal+= 2;
	if(c==1)
		nbrfinal+= 4;
	if(d==1)
		nbrfinal+= 8;
	if(e==1)
		nbrfinal+= 16;
	if(f==1)
		nbrfinal+= 32;
	if(g==1)
		nbrfinal+= 64;
	if(h==1)
		nbrfinal+= 128;	
	
	// On entre le nombre final dans le port
	outb(nbrfinal, REG_ADRESSE);
	
	return nbrfinal;
}

int main(int argc, char *argv[])
{
	
	// On regarde si on a le droit d'ouvrir l'interface
	if(ioperm(REG_ADRESSE, 2, 1)) {
		// On ne peut pas => erreur
		perror("Impossible d'ouvrir le port !");
		exit(1); // Sortie avec code 1
	}
	
	// On défini nos broches
	int decimal = act_broches(0,0,1,1,1,1,0,0);
	printf("Seules les broches de 4 a 7 ont ete activees ! (decimal %d)\n", decimal);
	
	// On regarde si on peut fermer le port
	if(ioperm(REG_ADRESSE, 2, 0)) {
		// On ne peut pas => erreur
		perror("Impossible de fermer le port !");
		exit(1); // Sortie avec code 1
	}
	
	// Tout est OK, on peut sortir du programme en indiquant un succès
	return 0;
}
Voici le retour console quand on le lance :

Code:
[root@localhost Port parallele 1]# ./executable
Seules les broches de 4 a 7 ont ete activees ! (decimal 60)
Il faudrais que je me procure un visionneur d'état (je ne sait pas si le montage est disponible à la vente ou s'il faut absolument le fabriquer soi-même...)

Pour ce qui est du TTL, c'est assez compliqué :S J'ai pas tout compris, mais au vu de ce que j'ai en projet, ceci ne devrais pas poser normalement de problème si je me limite aux optocoupleurs.