Pievienot darbus Atzīmētie0
Darbs ir veiksmīgi atzīmēts!

Atzīmētie darbi

Skatītie0

Skatītie darbi

Grozs0
Darbs ir sekmīgi pievienots grozam!

Grozs

Reģistrēties

interneta bibliotēka
Atlants.lv bibliotēka
7,49 € Ielikt grozā
Gribi lētāk?
Identifikators:134538
 
Autors:
Vērtējums:
Publicēts: 13.09.2012.
Valoda: Latviešu
Līmenis: Augstskolas
Literatūras saraksts: Nav
Atsauces: Nav
Darba fragmentsAizvērt

Paskaidrojumi kodam:
Pēc bibliotēku iekļaušanas, tiek definētas vairākas UART darbībai vajadzīgas konstantes.
#define FOSC F_CPU nosaka sistēmas takts ātrumu (sistēmas oscilatora clock frekvence),
#define BAUD 9600 kalpo,lai uzstādītu boda ātrumu (bods bija datu pārraides ātruma mērvienība bps jeb biti sekundē)
#define MYUBRR FOSC/16/BAUD-1 ir formula, kas aprēķina UBRR saturu pēc formulas normālajam asinhronajam režīmam.
void usart_init funkcija kalpo UART moduļa inicializācijai. UBRR reģistrs uzdod ātrumu. UBRR0H ierakstītais uzstāda zīmīgos bitus, bet UBRR0L atlikušos mazāk zīmīgos bitus.
UCSR0B statusa reģistrā ierakstītais inicializē datu sūtīšanu un saņemšanu.RXEN bits aktivizē USART uztvērēju un TXEN aktivizē raidītāju.
UCSR0C statusa reģistrs kalpo datu formāta uzstādīšanai. Bija nepieciešams uztādīt 8N2 formātu, kas nozīmē to,ka būs 8 datu biti( UCSZN0) un 2 stop biti (1 iekš USBS).
Pie mikrokontrolera inicializācijas, tiek izsaukta ne tikai potru inicializācijas funkcija, bet arī UART moduļa inicializācijas funkcija.
Void usart_transmit funkcija domāta,lai pārraidītu datus, šajā gadījumā tiek pārraidīts 1 simbols, jo char tipa mainīgais. Lai būtu iespējams pārraidīt virkni, tad būtu jāizmanto string tipa mainīgais.UDRE0 karodziņš norāda, vai UDR reģistrs var saņemt datus. Gaida, kamēr buferis būs tukšs, tad dati tiks ieveitoti buferī un aizsūtīti.
Līdzīgi ir ar usart_receive funkciju, kas gaida datus un atgriež saņemto.RXC norāda, vai ir pabeigta datu saņemšana.

Autora komentārsAtvērt
Parādīt vairāk līdzīgos ...

Atlants

Izvēlies autorizēšanās veidu

E-pasts + parole

E-pasts + parole

Norādīta nepareiza e-pasta adrese vai parole!
Ienākt

Aizmirsi paroli?

Draugiem.pase
Facebook

Neesi reģistrējies?

Reģistrējies un saņem bez maksas!

Lai saņemtu bezmaksas darbus no Atlants.lv, ir nepieciešams reģistrēties. Tas ir vienkārši un aizņems vien dažas sekundes.

Ja Tu jau esi reģistrējies, vari vienkārši un varēsi saņemt bezmaksas darbus.

Atcelt Reģistrēties