BITWAIT/de

From MCS Wiki AVR
< BITWAIT(Difference between revisions)
Jump to: navigation, search
((**COPIED FROM ENGLISH PAGE**) =)
(Siehe auch)
 
(5 intermediate revisions by one user not shown)
Line 16: Line 16:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Remarks</span> =
+
= <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);" |  
X
+
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 variable or internal register like PORTB.x , where x ranges from 0-7.
+
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;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
When using bit variables make sure that they are set/reset by software otherwise your program will stay in a loop.
+
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;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
When you use internal registers that can be set/reset by hardware such as PINB.0 this doesn't apply since this state can change as a result from for example a key press.
+
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;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 42: Line 42:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">See also</span> =
+
= <span class="f_Header">Siehe auch</span> =
  
NONE
+
[[DEBOUNCE]]
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 50: Line 50:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">ASM</span> =
+
= <span class="f_Header">Assembler</span> =
  
 
Calls: NONE
 
Calls: NONE
Line 78: Line 78:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Example</span> =
+
= <span class="f_Header">Beispiel</span> =
  
 
<br/><source lang="bascomavr">
 
<br/><source lang="bascomavr">
$regfile = "m48def.dat" ' specify the used micro
+
$regfile = "m48def.dat" ' Mikrocontroller
$crystal = 8000000 ' used crystal frequency
+
$crystal = 8000000 ' Taktfrequenz
$baud = 19200 ' use baud rate
+
$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 'wait until bit a is set
+
Bitwait A , Set 'Warten bis Bit A gesetzt ist.
'the code above will loop forever since the bit 'A' is not set in software
+
'Der Code loopt für immer weil A nicht per Programm gesetzt wird.
'it could be set in an ISR routine
+
'A könnte in einer ISR gesetzt werden.
 
   
 
   
Bitwait Pinb.7 , Reset 'wait until bit 7 of Port B is 0.
+
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

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  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language