|
 |
Procedure Seriali |
INIserial essenziale 1/5
[173 di 403] |
- Inizializzazione della
Comunicazione Seriale |
|
2.1 Procedura
INIserial:
Versione essenziale [1 di 5] |
 | Come anticipato, nessun programma di gestione della seriale
può funzionare se prima non si provvede ad
inizializzare la porta stessa. |
 | In nessun progetto dovrà perciò mancare la procedura
INIserial che descriveremo in queste
pagine e che si dovrà occupare di caricare i numerosi
Registri dell'UART
con i valori iniziali adatti a
soddisfare le nostre esigenze di Ricetrasmissione asincrona. |
 | Al fine di garantire la desiderata
velocità di Ricetrasmissione, per prima cosa si dovranno inizializzare i 2
Registri
divisori di Baud Rate
( [port_8],
parte bassa e [port_9], parte alta) con la
costante (fattore di divisione) necessaria
per dividere
la frequenza base di 115200 Hz dell'UART,
a sua volta ottenuta
dividendo per 16 quella (1,84320 MHz)
con cui oscilla il (cristallo di)
quarzo connesso ai suoi pin
XIN e XOUT,
con l'aiuto di un prescaler (un
divisore) interno all'UART
stesso. |
 | La Tabella dei divisori
completa è
già stata trattata. |
 | Poichè gli indirizzi di questi Registri sono condivisi rispettivamente con
quelli del
Registro
di Ricezione Dati [port_8] e del
Registro
di Abilitazione delle Interruzioni
[port_9],
per potervi accedere è necessario anzitutto porre a 1 il
bit7 del
Registro
di Controllo Linea
[port_B]. |
 | Solo con questa predisposizione può essere introdotto il valore del
divisore di baud
rate; per esempio, per predisporre la velocità di
9600 baud su
COM1, la sequenza di istruzioni è la seguente: |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|