| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| et:avr:registers [2014/10/14 08:17] – raivo.sell | et:avr:registers [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| [{{ :images:logic:logic_all_4.png?550 |Eitus, loogiline korrutamine, loogiline liitmine ja mittesamaväärsus}}] | [{{ :images:logic:logic_all_4.png?550 |Eitus, loogiline korrutamine, loogiline liitmine ja mittesamaväärsus}}] |
| |
| ~~PB~~ | |
| |
| * **Eitus / Inversioon** \\ Eitus muudab biti väärtuse vastupidiseks ehk 0 muutub 1 ja 1 muutub 0. C-keeles on eituse märk "~". | * **Eitus / Inversioon** \\ Eitus muudab biti väärtuse vastupidiseks ehk 0 muutub 1 ja 1 muutub 0. C-keeles on eituse märk "~". |
| // Siinkohal REG = 0x0E | // Siinkohal REG = 0x0E |
| </code> | </code> |
| |
| ~~PB~~ | |
| |
| ==== Üksiku biti inverteerimine ==== | ==== Üksiku biti inverteerimine ==== |
| // Siinkohal x = 0x01 | // Siinkohal x = 0x01 |
| </code> | </code> |
| |
| ~~PB~~ | |
| |
| ==== Biti nihutamine ==== | ==== Biti nihutamine ==== |
| Registri sisu tähistab paksu piirjoonega 8 lahtriga kast. Iga lahter tähistab üht bitti. Kasti kohal on toodud biti järgud - suurenevad paremalt vasakule. Kuna AVR on 8-bitine mikrokontroller, on ka enamik registreid 8-bitised. Mõningad erandid on 16-bitised registrid, mis koosnevad tegelikult kahest 8-bitisest registrist. Lisaks registritele on nimi ka igal registri bitil - täpselt nagu kassetimängija nuppudelgi. Iga biti kohta on andmelehes olemas selle selgitus. Biti nimed on samuti lühendid ja n-täht neis tuleb samuti asendada mooduli indeksiga. Mõnes registris pole kõiki 8 bitti kasutatud ja sel juhul tähistatakse biti lahter sidekriipsuga. | Registri sisu tähistab paksu piirjoonega 8 lahtriga kast. Iga lahter tähistab üht bitti. Kasti kohal on toodud biti järgud - suurenevad paremalt vasakule. Kuna AVR on 8-bitine mikrokontroller, on ka enamik registreid 8-bitised. Mõningad erandid on 16-bitised registrid, mis koosnevad tegelikult kahest 8-bitisest registrist. Lisaks registritele on nimi ka igal registri bitil - täpselt nagu kassetimängija nuppudelgi. Iga biti kohta on andmelehes olemas selle selgitus. Biti nimed on samuti lühendid ja n-täht neis tuleb samuti asendada mooduli indeksiga. Mõnes registris pole kõiki 8 bitti kasutatud ja sel juhul tähistatakse biti lahter sidekriipsuga. |
| |
| Registri bittide all on toodud kaks rida, kus on kirjas, kas bitt on loetav (R), kirjutatav (W) või mõlemat (R/W). Näiteks olekubitte ei saa üle kirjutada ja isegi siis, kui seda programmis üritada, ei omanda bit lihtsalt talle omistatavat väärtust. Biti puhul, mida saab ainult kirjutada, on öeldud üks kindel väärtus, mis selle lugemisel alati tuleb. Bittide all teises reas on toodud vaikeväärtus, mis on bitil pärast mikrokontrolleri käivitamist (inglise keeles //reset//). | Registri bittide all on toodud kaks rida, kus on kirjas, kas bitt on loetav (R), kirjutatav (W) või mõlemat (R/W). Näiteks olekubitte ei saa üle kirjutada ja isegi siis, kui seda programmis üritada, ei omanda bitt lihtsalt talle omistatavat väärtust. Biti puhul, mida saab ainult kirjutada, on öeldud üks kindel väärtus, mis selle lugemisel alati tuleb. Bittide all teises reas on toodud vaikeväärtus, mis on bitil pärast mikrokontrolleri käivitamist (inglise keeles //reset//). |
| |
| Kui AVR-i registrite nimed viitavad tegelikult mälupesade aadressidele, siis biti nimede taga peitub selle biti järgu number. Seega registris bittidega manipuleerimiseks tuleb bitinimed nihutusoperatsiooni abil bitimaskiks teisendada. Järgnevalt on toodud mõned C-keele näitelaused eeltoodud USART 0 mooduli registri kasutamiseks. | Kui AVR-i registrite nimed viitavad tegelikult mälupesade aadressidele, siis biti nimede taga peitub selle biti järgu number. Seega registris bittidega manipuleerimiseks tuleb bitinimed nihutusoperatsiooni abil bitimaskiks teisendada. Järgnevalt on toodud mõned C-keele näitelaused eeltoodud USART 0 mooduli registri kasutamiseks. |
| </code> | </code> |
| |
| Atmeli XMega seeria kontrolleritel, mis on kasutusel Kodulabori III seeria plaatidel tuleb lisaks moodulile ära märkida ka port, mille moodulit kasutada soovitakse. Lisaks on defineeritud registri bittide maskid ning bittide positsioonid _bm(bit mask) ja _bp(bit position) lõppudega. | Atmeli xmega seeria kontrolleritel, mis on kasutusel Kodulabori III seeria plaatidel tuleb lisaks moodulile ära märkida ka port, mille moodulit kasutada soovitakse. Lisaks on defineeritud registri bittide maskid ning bittide positsioonid _bm(bit mask) ja _bp(bit position) lõppudega. |
| |
| <code c> | <code c> |