Operácie

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:
==== Bit Magic ====
 
 
 
* [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]
  
* Uvedomte si, ako pristupujeme k bitom
+
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_Input.png]]
 
  
 
[[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.

MMP Cvicenie2 Input.png


MMP Cvicenie2 Output.png