2010/10/22

Missioon lõputöö: Päev 52

Märkmeid

uint8_t - 8 bitine unsigned integer
uint8_t is the same as a byte. its shorthand for: a type of unsigned integer of length 8 bits (allikas)

#define F_OSC 4000000
#define UART_BAUD_RATE 9600
#define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16l)-1)
Esimene rida defineerib konstandi F_OSC väärtuseks 4000000 (4MHz). Tuleb tähele panna, et see väärtus peab reaalselt klappima tegeliku konkreetse MC sisemise kristalli sagedusega. Vastasel juhul lähevad kõik baudrate arvutused metsa.
Teine rida defineerib konstandi UART_BAUD_RATE väärtuseks 9600. Sellega määratakse andmeedastuskiirus.
Kolmas rida lubab ((F_OSC)/((UART_BAUD_RATE)*16l)-1) asemel programmis kasutada ülevaatlikumat kirjapilti UART_BAUD_CALC(UART_BAUD_RATE,F_OSC). Kusjuures 16l puhul l tähedab longint. UBRR (koosneb UBRRH ja UBBRL registritest) registrisse kirjutamiseks vajaliku baudrate arvutusvalemi leiab MC datasheet'st.


Header #include avr/signal.h sisaldab muuhulgas kahte funktsiooni/makrot SIGNAL( signame ); ja INTERRUPT ( signame );, mis haldavad ARV interrupt'de.

No comments: