BITWAIT/de

Aus MCS Wiki AVR
< BITWAIT(Weitergeleitet von BITWAIT)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Funktion

Warten bis ein Bit gesetzt (1) bzw. gelöscht (0) ist.


 

 

Syntax

BITWAIT x , SET/RESET

 

 

Anmerkungen

s

Bit-Variable oder internes Register wie z.B. PORTB.x , wobei x im Bereich von 0 bis 7 ist.

 

Wenn eine Bit-Variable benutzt wird dann muss sichergestellt werden, dass die Bit-Variable per Programm gesetzt/gelöscht wird weil das Programm sonst endlos wartet.

 

Wenn ein internes Register benutzt wird das durch Hardware gesetzt/gelöscht werden kann wie z.B. PinB.0 dann trifft das nicht zu weil der Zustand sich zum Beispiel durch einen Tastendruck verändern kann.

 

 

 

Siehe auch

DEBOUNCE

 

 

Assembler

Calls: NONE

Input: NONE

Output: NONE

 

Code : shown for address 0-31

 

 

label1:

Sbic PINB.0,label2

Rjmp label1

Label2:

 

 

Beispiel


$regfile = "m48def.dat" ' Mikrocontroller
$crystal = 8000000 ' Taktfrequenz
$baud = 19200 ' Baudrate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
 
Dim A As Bit
Bitwait A , Set 'Warten bis Bit A gesetzt ist.
'Der Code loopt für immer weil A nicht per Programm gesetzt wird.
'A könnte in einer ISR gesetzt werden.
 
Bitwait Pinb.7 , Reset 'Warten bis Bit 7 des Port B 0 ist.
End

Languages   English Deutsch  
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
In anderen Sprachen
Sprache