Politehica din Bucuresti proiect de diplomă Facultatea transporturi



Yüklə 1,46 Mb.
səhifə64/104
tarix09.01.2022
ölçüsü1,46 Mb.
#91958
1   ...   60   61   62   63   64   65   66   67   ...   104
1.10 USART – Iniţializare
USART trebuie iniţializata înaintea de pornirea oricărei alte comunicaţii.Procesul normal de iniţializare constă în : stabilirea ratei baud,cadrului şi activarea Transmiţătorului şi Receptorului în funcţie de opţiuni.Pe durata iniţializarii steagul de întrerupere trebuie dezactivat (la fel şi orice fel de întreruperi).

Pentru o reiniţializare,orice transmisie trebuie să fie încheiată înaintea modificării registrelor.Steagul TXC verifică dacă toate transmisiile au fost încheiate, iar steagul RXC verifică dacă sunt date necitie în buffer-ul receptorului.Steagul TXC trebuie dezactivat înaintea oricărei transmisii (înainte ca UDR să fie scris).

Următorul exemplu prezintă modul de iniţializare a USART.Exemplul de cod stabileşte operaţiile asincrone (nici o întrerupere nu este activă) şi un anumit format de cadru.Rata baud este utilizată ca funcţie de parametri,stocată în registrele r16 :r17.Când această funcţie realizează operaţia de scriere în Registrul UCSRC,bitul URSEL - (MSB) trebuie setat potrivit utilizării în locaţiile I/O de către UBRRH şi UCSRC.


Nota : Exemplul de cod prezentat include si fisierele header.
O rutină de iniţializare avansată include formate de cadre ca parametri,întreruperi dezactivate etc.Multe aplicaţii utilizează setari fixe pentru baud, şi registre de control, în acest caz,programul de iniţializare fiind amplasat direct în cadrul rutinei,sau combinat cu alte programe de iniţializare pentru alte module I/O.


Yüklə 1,46 Mb.

Dostları ilə paylaş:
1   ...   60   61   62   63   64   65   66   67   ...   104




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin