AVRFreaks üldine tutorial'te leht:
2010/10/23
2010/10/22
Missioon lõputöö: Päev 52
Märkmeid
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.
(lisa)
2010/10/21
Missioon lõputöö: Päev 50
Mõned mõisted
ADC - analog to digital converter
UART - Universal asynchronous receiver/transmitter
A universal asynchronous receiver/transmitter is a type of "asynchronous receiver/transmitter", a piece of computer hardware that translates data between parallel and serial forms. UARTs are commonly used in conjunction with other communication standards such as EIA RS-232. A UART is usually an individual (or part of an) integrated circuit used for serial communications over a computer or peripheral device serial port. UARTs are now commonly included in microcontrollers.
BAUD RATE - põhimõtteliselt andmeedastuskiirus
the number of distinct symbol changes (signaling events) made to the transmission medium per second in a digitally modulated signal or a line code.
#define F_OSC - määrab MC sisemise kristalli sageduse
UBRRL ja UBRRH - USART Baud Rate registrid MC'is.
UCSRA, UCSRB and UCSRC - USART Control and Status Registers A, B and C
URSEL - USART Register Select bit
When doing a write access of this I/O location, the high bit of the value written, the USART Register Select (URSEL) bit, controls which one of the two registers that will be written. If URSEL is zero during a write operation, the UBRRH value will be updated. If URSEL is one, the UCSRC setting will be updated.
UCSZ0 - The UCSZ1:0 bits combined with the UCSZ2 bit in UCSRB sets the number of data bits(character size) in a frame the Receiver and Transmitter use.
RXEN - lubab USART (serial porti) andmete vastuvõtmise
TXEN - lubab USART (serial porti) andmete saatmise
RXCIE - lubab RX interrupt'id
ADC - analog to digital converter
UART - Universal asynchronous receiver/transmitter
A universal asynchronous receiver/transmitter is a type of "asynchronous receiver/transmitter", a piece of computer hardware that translates data between parallel and serial forms. UARTs are commonly used in conjunction with other communication standards such as EIA RS-232. A UART is usually an individual (or part of an) integrated circuit used for serial communications over a computer or peripheral device serial port. UARTs are now commonly included in microcontrollers.
BAUD RATE - põhimõtteliselt andmeedastuskiirus
the number of distinct symbol changes (signaling events) made to the transmission medium per second in a digitally modulated signal or a line code.
#define F_OSC - määrab MC sisemise kristalli sageduse
UBRRL ja UBRRH - USART Baud Rate registrid MC'is.
UCSRA, UCSRB and UCSRC - USART Control and Status Registers A, B and C
URSEL - USART Register Select bit
When doing a write access of this I/O location, the high bit of the value written, the USART Register Select (URSEL) bit, controls which one of the two registers that will be written. If URSEL is zero during a write operation, the UBRRH value will be updated. If URSEL is one, the UCSRC setting will be updated.
UCSZ0 - The UCSZ1:0 bits combined with the UCSZ2 bit in UCSRB sets the number of data bits(character size) in a frame the Receiver and Transmitter use.
RXEN - lubab USART (serial porti) andmete vastuvõtmise
TXEN - lubab USART (serial porti) andmete saatmise
RXCIE - lubab RX interrupt'id
2010/10/20
Linux ja mina
10.10.10. Täpselt sel kuupäeval ilmus Ubuntu uus versioon koodnimega Maverick Meerkat. Meie korteris võttis tuld linuxivaimustus. Kõik isiklikus kasutuses olevad rüpperraalid said endale uue ja särava opsüsteemi. Õigemini tegime me, kui kogenud ja ettenägelikud arvutikasutajad, igaks petteks dualbootid - Ubuntu Windowsiga segamini. Et häda korral saaks Billi poole appi hüüda. Ja loomulikult Starcrafti mängimiseks :)
Poolteist nädalat hiljem on seis järgmine. Ühe läpaka (ACER'i marki), keeras Ubuntu mõneti tuksi. Tekkis konflikt akukontrolleri(?) ja linuxi vahel. Aku ei tahtnud enam laaduda. Ülejäänud raalidel (neid on 4) tuksub Maverick rõõmsalt edasi. Minu igivanal Ordil (5 aastane) jookseb Ubuntu üsna käbedasti. Mõneti isegi kiiremini kui Windows XP seda suutis. Algne sisselogimine on poole minuti teema ja Chrome'i kasutades avaneb browser mõne sekundiga. Ka ülejäänud programmid on üsna nõtked. Openoffice'i pakett asendab MS Office't täiesti adekvaadselt. Mis mulle aga eriti meeldis oli see, et Windows 7 stiilis leiti üles kõik vajalikud draiverid ja installiti need automaatselt. See tähendab, et peale installeerimise lõppu sai oli heli ja pilt kohe korras, wifi ja fn klahvid töötasid jms. Väga äge!
Muidugi on Ubuntul ka omad vimpkad. Mitme kõvaketast koormava programmi paralleelne kasutamine tõmbab linuxil hinge üsna kinni. Näiteks kui midagi netis tõmmata, samal ajal midagi streamida ning ka netis surfata, siis hakkab hiire kursor silmnähtavalt "kakkuma". XP uriseks küll sellise olukorra peale, aga niimoodi laggima ta pole veel hakanud. Vaikimisi filmivaatlusprogramm oli üsna kohmakas ja vajas välja vahetamist. Sama kehtis IM programmmi kohta.
Ma olen elus linuxit kasutanud äärmiselt minimaalselt. Nüüd igapäevaselt "harjutades" peab tõdema, et Windowsi asendab see igati hästi. Netti saab kohe minna, chattida saab ka. Filmi ja muusika jaoks on kõik olemas. Aga kui on soov kapoti all midagi taustapildist keerulisemat muuta, siis alguses võib natuke kohmetuda. Windows 7 on, tuleb tõde tunnistada, tunduvalt tavakasutajasõbralikum.. Samas kui kasutaja kannab tiitlit "pädev", on linuxis kruvid ja mutrid palju mugavamalt enda käe järgi ära sättida. Kui ainult viitsimist on. Lisaks tundub mulle, et igasugune programmivalik linuxi süsteemidele on märksa mitmekesisem.
Missioon lõputöö: Päev 49
Täna sai skeemile lõpuks serial port külge ühendatud/tinutatud. See tähendab, et kasutajal on võimalik otseselt MC suhelda. Praegu oskab MC klahvivajutuse peale ekraanile saata "TERE". Mul on väga viisakas kontroller :)
Järgmisena tuleks ette võtta mikronupu ühendamine. See ei tohiks väga raske olla. Seejärel LCD ühedamine, mis on juba tunduvalt kogukam ülesanne.
2010/10/01
Subscribe to:
Posts (Atom)