AVR Bit Magic: Rozdiel medzi revíziami
Z SensorWiki
(Nová stránka: ==== Bit Magic ==== * [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=37871 Bit manipulation (AKA "Programming 101")] * [http://www.atmel.com/dyn/resources/prod_d...) |
(→Bit Magic) |
||
Riadok 1: | Riadok 1: | ||
− | |||
− | |||
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=37871 Bit manipulation (AKA "Programming 101")] | * [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] | * [http://www.atmel.com/dyn/resources/prod_documents/doc1497.pdf AVR035: Efficient C Coding for AVR] | ||
− | + | 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. | ||
+ | |||
+ | [[Obrázok:MMP_Cvicenie2_Input.png|center|250px]] | ||
+ | |||
− | |||
[[Obrázok:MMP_Cvicenie2_Output.png]] | [[Obrázok:MMP_Cvicenie2_Output.png]] |
Verzia zo dňa a času 06:18, 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.