AVR Bit Magic: Rozdiel medzi revíziami
Z SensorWiki
(→Bit Magic) |
|||
Riadok 1: | Riadok 1: | ||
− | + | ||
− | |||
V assembleri existuje pre manipuláciu s bitmi dostatok inštrukcií. V prvom cvičení sme napríklad na test stlačenia | V assembleri existuje pre manipuláciu s bitmi dostatok inštrukcií. V prvom cvičení sme napríklad na test stlačenia | ||
Riadok 7: | Riadok 6: | ||
V jazyku C ale typ bit neexistuje (hoci niektoré kompilátory takýto typ zaviedli), preto môžeme pracovať len s bajtmi, a musíme si nejako vypomôcť. Pri rozumnom zápise však kompilátor rozpozná, že chceme pracovať s bitom a preloží našu konštrukciu správne. | V jazyku C ale typ bit neexistuje (hoci niektoré kompilátory takýto typ zaviedli), preto môžeme pracovať len s bajtmi, a musíme si nejako vypomôcť. Pri rozumnom zápise však kompilátor rozpozná, že chceme pracovať s bitom a preloží našu konštrukciu správne. | ||
− | [[Obrázok:MMP_Cvicenie2_Input.png|center | + | [[Obrázok:MMP_Cvicenie2_Input.png|center]] |
− | [[Obrázok:MMP_Cvicenie2_Output.png]] | + | [[Obrázok:MMP_Cvicenie2_Output.png|center]] |
+ | |||
+ | |||
+ | |||
+ | === Further reading === | ||
+ | |||
+ | * [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=37871 Bit manipulation (AKA "Programming 101")] | ||
+ | * [http://www.atmel.com/dyn/resources/prod_documents/doc1497.pdf AVR035: Efficient C Coding for AVR] | ||
[[Category:AVR]][[Category:MMP]] | [[Category:AVR]][[Category:MMP]] |
Verzia zo dňa a času 06:19, 1. október 2010
V assembleri existuje pre manipuláciu s bitmi dostatok inštrukcií. V prvom cvičení sme napríklad na test stlačenia
tlačidla mohli použiť inštrukciu
sbis PINB,3 ; sbis = Skip if Bit Is Set, preskoc ak je PINB.3 nastaveny (=1)
V jazyku C ale typ bit neexistuje (hoci niektoré kompilátory takýto typ zaviedli), preto môžeme pracovať len s bajtmi, a musíme si nejako vypomôcť. Pri rozumnom zápise však kompilátor rozpozná, že chceme pracovať s bitom a preloží našu konštrukciu správne.