Programme qui interprète
les états reçus sur le port série
Le poste PC reçoit ainsi les données provenant
du MAX232 via l'interface série. Lorsque le port série
reçoit une tension de 0,5V (pas de présence), un 0 s'affiche sur
l'écran du poste serveur. Lorsque le port série reçoit une
tension de 5V (il y a présence), un 1 s'affiche.
Un programme en C a été ainsi conçu pour
interpréter comprendre ces états :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int nombre=0;
printf("Compréhension des états
binaires\n");
printf ("1. COM=0\n");
printf ("2. COM=1\n");
printf ("Quel est l'état reçu par le
port COM: \n\n");
scanf ("%d", &nombre);
switch (nombre)
{
case 1:
printf ("Le port série a reçu un
état bas: Il n'y a pas de présence\n");
break;
case 2:
printf ("Le port série a reçu un
état haut: Il ya présence\n");
break;
default:
printf ("Erreur\n");
break;
}
system ("PAUSE");
return 0;
}
Programme qui
récupère les données du port COM1 du poste PCet envoie sur
un autre port COM2
L'information reçue par le poste PC grâce
à l'interface série peut être envoyée sur d'autres
ports pour une autre utilité.
Ainsi un programme écrit en C++ a été
élaboré afin de permettre la transmission de cette
information :
#include <iostream>
#include <exception>
using namespace std;
#include <windows.h>
#include "com_class.h"
FILE *fp;
int main()
{
inti;
char m;
try
{
charstr[2];
asyn_com com1;
char str2[2];
asyn_com com2;
fp=fopen ("D:\\com.txt","a");
com1.open (1);
if (! com1.is_open())
com2.open (3);
if (!com2.is_open())
while (1)
{
com1.read (str, 2)
Sleep (500);
for (i=0; i<2; i++)
{
str2 [i] =str[i];
}
com2.write (str2, 2);
for (i=0;i<1;i++)
{
m=str2 [i];
printf ("%x ",m);
}
printf ("\n");
}
}
catch (exception &e)
{
cout<<e.what()
<<endl;
}
return 0;
}
QUATRIEME PARTIE: Application
Choisie« Contrôle et gestion du nombre de places dans un
parking »
|