Transmissions réseaux
Compte rendu du TP1
I. Mise en œuvre de la console
Nous avons ici les fonctions des trois broches qui sont nécessaires pour communiquer avec une périphérique :
-RxD( Receive Data )
-TxD( Transmit Data )
-GND ( masse )
Le protocole RS232C permet de transmettre les données et les recevoir en même temps par les lignes RxD et TxD. En effet, vu que ce protocole est full duplex.
1. Connecter les deux PC avec le câble série (3 fils). Le premier PC est considéré comme émetteur de données et le second comme récepteur de données. Vérifier que l'alphabet s'affiche sur la console. Commenter.
L'alphabet s'affiche bien sur la console est affiche 'abc' en boucle sur la console. Ce qui correspond au code, nous avons dans le main.
2. Modifier le programme pour envoyer successivement les lettres 'a', 'b' et 'c' avec un temps d'attente de 5 ms entre 'a' et 'b' et 25 ms entre 'b' et 'c'. int main ()
{
unsigned int nb_car_emis=0; char car_emis='a',car_rec='a'; int i=0; clrscr(); init(); do{ // envoi d'un caractere et apres la fonction celui ci est incremente (par exemple le carac est 'a' à la sortie de la fonction le caractere est 'b')
//si le caractere est b alors on attend 5 ms
//si le caractere est c alors on attend 25 ms envoyerCaractere(car_emis++); if(car_emis == 'b') delay(5); if(car_emis == 'c') delay(25); if(car_emis == 'd') car_emis = 'a'; nb_car_emis++; }while(etat_emission != STOP); return 0;
}
II. Modification des paramètres de la console
3. A l'aide du datasheet de l'UART 82C50, analyser et commenter les fonctions suivantes :
•
•
void init() void envoyerCaractere(char)
void init(){
// Il permet d'accéder au registre DL(DLL et DLM) 0x80 = 1000 000 outportb(ADR_LCR,0x80); // DL registre 16 bits dont les 8bits de poids faible sont DLL et 8bits de poids fort sont DLM
// crystal de 1,8432MHz, nous mettons DLL à 12 pour obtenir 9600 bauds. D'après le
//document, nous faisons le calcul