BITWAIT/de
From MCS Wiki AVR
< BITWAIT(Difference between revisions)
(→(**COPIED FROM ENGLISH PAGE**) =) |
(→Siehe auch) |
||
(5 intermediate revisions by one user not shown) | |||
Line 16: | Line 16: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span> = |
<div style="padding: 0px; margin: 0px 0px 0px 4px;"> | <div style="padding: 0px; margin: 0px 0px 0px 4px;"> | ||
{| width="604" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | {| width="604" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| valign="top" width="12%" style="width: 69px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="12%" style="width: 69px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | s | |
| valign="top" width="100%" style="width: 526px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 526px; border: 1px solid rgb(0, 0, 0);" | | ||
− | Bit | + | Bit-Variable oder internes Register wie z.B. PORTB.x , wobei x im Bereich von 0 bis 7 ist. |
|} | |} | ||
Line 30: | Line 30: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 42: | Line 42: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
− | + | [[DEBOUNCE]] | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 50: | Line 50: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Assembler</span> = |
Calls: NONE | Calls: NONE | ||
Line 78: | Line 78: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span> = |
<br/><source lang="bascomavr"> | <br/><source lang="bascomavr"> | ||
− | $regfile = "m48def.dat" ' | + | $regfile = "m48def.dat" ' Mikrocontroller |
− | $crystal = 8000000 ' | + | $crystal = 8000000 ' Taktfrequenz |
− | $baud = 19200 ' | + | $baud = 19200 ' Baudrate |
$hwstack = 32 ' default use 32 for the hardware stack | $hwstack = 32 ' default use 32 for the hardware stack | ||
$swstack = 10 ' default use 10 for the SW stack | $swstack = 10 ' default use 10 for the SW stack | ||
Line 91: | Line 91: | ||
Dim A As Bit | Dim A As Bit | ||
− | Bitwait A , Set ' | + | 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 ' | + | Bitwait Pinb.7 , Reset 'Warten bis Bit 7 des Port B 0 ist. |
End | End | ||
</source><br/>{{Languages}} | </source><br/>{{Languages}} | ||
[[Category:BASCOM Language Reference/de]] | [[Category:BASCOM Language Reference/de]] |
Latest revision as of 01:42, 5 March 2013
Contents |
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
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 |
---|