Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

COMUNICAZIONE SERIALE - TRASMISSIONE (TR8250) - RICEZIONE (RI8250)

informatica





COMUNICAZIONE  SERIALE



L'obiettivo di questa esperienza è quello di riuscire a collegare tra loro due PC per poter eseguire uno scambio seriale di dati tra i due computer. Per poter effettuare una comunicazione seriale tra due PC sono stati fatti due programmi: uno per la trasmissione dei dati ed uno per l'acquisizione degli ste 121c26b ssi. Si dovrà quindi scegliere quale computer deve trasmettere e quale deve ricevere i dati. A questo proposito dovrà  essere eseguito il programma per la trasmissione (TR8250) nel computer che è stato scelto per trasmettere i dati, e quello per la ricezione (RI8250) nel computer scelto per ricevere.

Poiché la comunicazione tra i due terminali deve essere di tipo seriale è stata utilizzata per questo scopo l'interfaccia seriale 8250. Questa interfaccia presenta 10 segnali di controllo, può essere programmata per usare il modem oppure no e può funzionare con gli interrupt. I registri di controllo dell'8250 sono i seguenti:




3F8H THR REGISTRO MEMORIZZAZIONE TRASMISSIONE

3F8H RBR REGISTRO DATI RICEVUTI

3F8H DLL DIVISORE DI BAUD RATE (LSB)

3F8H DLM DIVISORE DIBAUD RATE (MSB)

3F8H IER REGISTRO ABILITAZIONE INTERRUZIONI

3F8H IIR REGISTRO IDENTIFICAZIONE INTERRUZIONI

3F8H LCR REGISTRO CONTROLLO LINEA

3F8H MCR REGISTRO CONTROLLO MODEM

3F8H LSR REGISTRO STATO LINEA

3F8H MSR REGISTRO STATO MODEM



I registri da noi utilizzati sono i seguenti: LCR, IER, DLM,DLL, THR, RBR.

Il collegamento tra i due computer è stato fatto mediante l'utilizzo di un cavo seriale come in figura:








 




  TD TD RD RD GND



Il programma di trasmissione funziona nel seguente modo:

Inizializza la porta per la trasmissione a 2400 baud

Controlla che il registro di trasmissione sia vuoto

Se è vuoto scrive il byte in THR e quindi viene trasmesso


Il programma di ricezione funziona così:

Inizializza la porta per la ricezione a 2400 baud

Controlla che il registro di ricezione sia pieno

Se è pieno lo legge


Listato programmi:


TRASMISSIONE (TR8250)


#include<dos.h>

#include<conio.h>

#include<stdio.h>

#include<iostream.h>


main()



RICEZIONE (RI8250)


#include<dos.h>

#include<conio.h>

#include<stdio.h>

#include<iostream.h>


main()

while(stato==0); // CONTROLLA CHE IL REGISTRO DI RICEZIONE

clrscr(); // SIA PIENO

dato=inportb(rbr); // LEGGE IL DATO DA STAMPARE

cout<<"Dato ricevuto : "<<dato;

getch();



Per lo sviluppo di questa esperienza abbiamo impiegato quattro ore senza riscontrare nessun problema rilevante.




Privacy




Articolo informazione


Hits: 1807
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024