Accueil

Web

FaceBook

Telechargement

Contact

 

Ajouter aux Favoris

    Bienvenue ! 07/05/2021 @ 13:04:42 - IP : 3.236.222.124 -



ZNsoft Technologie - La programmation des ports paralleles
 




 

Microsoft

Télécharger

SQL Server 2012

Pinpoint

Visual Studio

Choisir son PC

 
 

Developpement

Visual Basic

Langage C

Java

Assembleur

Delphi

SQL

Python

WinDev

 
 

Systèmes OS

Ms Dos

Windows 9.x

Windows Nt

Windows Vista

Unix

Linux

Mac Os

 
 

Conception Web

PHP

ASP

Html

XmL

Flash Adobe

Director Adobe

WebDev

Java Script

 




Livre GRATUIT:
Livre gratuit pour maitriser Google Docs



 
 

 

Sommaire :

Introduction - Configuration du port - Programmation du port

 

Gestion des ports paralleles

 

 

Programmation du port

 

Développer et déployer facilement vos sites web

Télécharger gratuitement Office 2013

Héberger votre site web sur des serveurs gratuits

Visual Studio 2013

Télécharger et apprenez gratuitement

Trucs et Astuces

Découvrez Windows 8.1 et télécharger le gratuitement

 

 

 

Le port parallèle est extrêmement simple à programmer. Plusieurs  langages possèdent les fonctions pour accéder au contrôle des registres. Ainsi, il est possible de programmer en Basic à l'aide de INP et OUT ou dans des langages plus évolués comme le C. Nous nous intéresserons plus particulièrement à ce dernier langage mais également au Visual Basic qui nous permettra de créer des applications sous Windows.

En langage C :

Dans le cas du C, il existe deux fonctions pour écrire et lire dans un registre. Elles sont accessibles dans les bibliothèques standards, à savoir :

  • dos.h pour le compilateur Borland
  • pc.h pour le compilateur DJGPP (téléchargeable sur ce site, dans la section Logiciels)
  • conio.h pour le compilateur de Microsoft



Les prototypes des fonctions sont les suivantes :

void outportb(unsigned short ADRESSE, unsigned char VALEUR);
unsigned char inportb(unsigned short ADRESSE);

Dans le cas du compilateur Microsoft, remplacez outportb et inportb par leurs équivalents outp et inp. Notez que le 'b' après les noms signifie que vous accédez à un port de 8 bits. Si vous souhaitez gérer le port ISA par exemple, il faudra prendre les fonctions 16 bits : outport et inport.

        Réalisons sans plus attendre notre première application. Un moyen très pratique pour comprendre et vérifier le fonctionnement du port parallèle est de réaliser le schéma de test ci-dessous. Connecté sur le bus de données, on peut visualiser directement le contenu du registre grâce aux LED. Les résistances servent à limiter le courant traversant les diodes. Dès lors, il suffit d'une simple ligne en C pour allumer les LED désirées. Il est possible également d'utiliser le programme Output.exe qui permet d'écrire une donnée sur le port parallèle.

#include <pc.h>
void main(void)
{
unsigned char Valeur;
outportb(0x378,0xFF); // On allume toutes les LED
Valeur = inportb(0x378); // On lit le registre de donné
}
      Une remarque peut être apportée au listing précédent. En effet, nous n'avons pas configuré le bus de données en entrée, donc ce que nous lisons est juste la valeur du registre, soit Valeur=255 ici. Le registre de données ne devient l'image des broches que si le bit 5 du registre de contrôle est à 1.

En Visual Basic

Le cas de Visual Basic est un peu plus délicat. En effet, aucune fonction n'existe en standard. Pour cela, nous avons recours aux célèbres DLL qui permettent d'étendre les possibilités du langage. Nous allons utiliser Inpout.dll (comprendre Inp-out, en rapport avec les fonctions du même nom en Basic) qui contient deux fonctions permettant de lire et d'écrire dans un des trois registres. Cette dll est disponible un peu partout sur le net :

inpout32.dll

Les prototypes des fonctions sont les suivants :

Out ADRESSE, VALEUR

VALEUR = Inp(ADRESSE)

Tout projet nécessitant l'utilisation de cette DLL doit contenir un module servant à déclarer ces nouvelles fonctions que Visual Basic ne connaît pas. Il faut aller dans le menu "Projet" puis cliquer sur "Ajouter un module". Inscrire alors dans ce module le code suivant :

Public Declare Function Inp Lib "inpout32.dll" _ Alias "Inp32" (ByVal PortAddress As Integer) As Integer Public Declare Sub Out Lib "inpout32.dll" _ Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Et voilà ce n'est pas plus difficile que ça. ci-dessous. Il est capable d'écrire dans tous les registres et montre en permanence leur valeur. Tous les programmes sont accompagnés de leurs sources avec des commentaires. Il n'y a aucune difficulté de programmation. Cette introduction au port parallèle nous a donné les bases pour développer des applications plus complètes, ce que nous verrons dans des prochains cours.