<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefanhamburg</id>
		<title>MCS Wiki AVR - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefanhamburg"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/Special:Contributions/Stefanhamburg"/>
		<updated>2026-04-17T05:07:59Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de</id>
		<title>CONFIG TIMER1/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de"/>
				<updated>2013-04-01T22:11:25Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG TIMER1&amp;lt;/span&amp;gt;&amp;amp;nbsp;= COUNTER | TIMER | PWM ,&lt;br /&gt;
&lt;br /&gt;
EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 ,&lt;br /&gt;
&lt;br /&gt;
NOISE_CANCEL=0 |1, CAPTURE_EDGE = RISING | FALLING ,&lt;br /&gt;
&lt;br /&gt;
CLEAR_TIMER = 1|0,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_B = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
PWM = 8 | 9 10 ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
COMPARE_B_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
[,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Der TIMER1 ist ein 16 Bit-Zähler. Siehe die Hardware-Beschreibung des TIMER1.&lt;br /&gt;
&lt;br /&gt;
Es hängt vom verwendeten Chip ab, ob COMPARE_B verfügbar ist oder nicht.&lt;br /&gt;
&lt;br /&gt;
Einige Chips haben sogar einen COMPARE_C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die gezeigte Syntax muss in EINER Zeile stehen. Nicht alle Parameter müssen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So ist der Effekt der verschiedenen Parameter:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Man kann selektieren, ob der Timer für fallende oder steigende Flanke (fallig oder rising edge) benutzt werden soll. Nur für COUNTER-Modus.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CAPTURE_ EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the CAPTURE_EDGE = FALLING/RISING, you can specify to capture on the falling or rising edge of pin ICP&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOISE_ CANCELING&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Um Störunterdrückung zu ermöglichen kann man den Wert 1 einstellen. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Der TIMER ist in diesem Fall mit dem Systemtakt verbunden. Man kann den Teiler für den Systemtakt mit diesem Parameter wählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gültige Werte sind 1 , 8, 64, 256 oder 1024&lt;br /&gt;
&lt;br /&gt;
PRESCALE kann NICHT im COUNTER Modus verwendet werden.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der TIMER1 hat auch zwei Compare Register A und B&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Timer-Wert mit dem Wert in einem Compare-Register übereinstimmt dann kann eine Aktion ausgeführt werden.&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 93px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 502px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die Aktion kann sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SET setzt den OC1X Pin&lt;br /&gt;
&lt;br /&gt;
CLEAR löscht OC1X Pin&lt;br /&gt;
&lt;br /&gt;
TOGGLE toggelt den OC1X Pin&lt;br /&gt;
&lt;br /&gt;
DISCONNECT entkoppelt den TIMER com Ausgabe-Pin OC1X&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und der TIMER kann im PWM Modus benutzt werden.&lt;br /&gt;
&lt;br /&gt;
Man hat die Wahl zwischen 8, 9 oder 10 Bit PWM Modus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann außerdem spezifizieren, ob der Timer nach einer Übereinstimmung mit dem Compare Register hoch (UP) oder runter (DOWN) gezählt werden soll.&lt;br /&gt;
&lt;br /&gt;
Beachten Sie, dass es zwei Compare Register A und B gibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kann 8, 9 oder 10 sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A_PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM compare Modus. Kann CLEAR_UP oder CLEAR_DOWN sein&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung von COMPARE_A, COMPARE_B, COMPARE_A_PWM oder COMPARE_B_PWM werden die entsprechenden Ausgabe-Pins gesetzt. Wenn dies nicht gewünscht ist kann man  NO_OUTPUT benutzen damit der Output-Pin nicht verändert wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel&amp;amp;nbsp;: COMPARE_A_NO_OUTPUT , COMPARE_A_PWM NO_OUTPUT&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION ist optional. Wenn man configuration=mysetting hinzufügt dann kann man beim Start des Timers benutzen: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
Wenn man mehrere Settings hat dann kann man den Timer mit diesen Settings starten.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer1.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show using Timer1&lt;br /&gt;
'micro : 90S8515&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;8515def.dat&amp;quot; ' Mikrocontroller&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim W As Word&lt;br /&gt;
 &lt;br /&gt;
'Der TIMER1 ist ein 16-Bit TIMER.&lt;br /&gt;
'Dieses Beispiel zeigt die Konfiguration des TIMERs&lt;br /&gt;
 &lt;br /&gt;
'Zunächst kann der Timer wie der TIMER0 als TIMER oderr COUNTER konfiguriert werden.&lt;br /&gt;
'Konfiguration als TIMER was bedeutet, dass interne Taktimpulse gezählt werden.&lt;br /&gt;
'Der interne Takt kann durch by 1,8,64,256 oder 1024 geteilt werden&lt;br /&gt;
Config Timer1 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
'Man kann den Timer-Wert lesen oder schreiben mit der COUNTER1 oder TIMER1 Variablen &lt;br /&gt;
W = Timer1&lt;br /&gt;
Timer1 = W&lt;br /&gt;
 &lt;br /&gt;
'Wei Benutzung als COUNTER kann man zwischen Triggerung bei fallender oder steigender Flanke wählen &lt;br /&gt;
Config Timer1 = Counter , Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'Also you can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
'With the CAPTURE EDGE = , you can specify to capture on the falling or rising edge of&lt;br /&gt;
'pin ICP&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Falling , Capture Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'Für Störunterdrückung kann man schreiben:&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling , Noise_Cancel = 1&lt;br /&gt;
 &lt;br /&gt;
'Lesen des Input Capture Registers:&lt;br /&gt;
W = Capture1&lt;br /&gt;
'Beschreiben des Capture Registers:&lt;br /&gt;
Capture1 = W&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Der TIMER hat auch zwei Compare Registers A und B&lt;br /&gt;
'Wenn der Timer-Wert dem Compare-Register-Wert entspricht dann kann eine Aktion ausgeführt werden&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Compare_A = Set , Compare_B = Toggle , Clear_Timer = 1&lt;br /&gt;
'SET  setzt den OC1X Pin&lt;br /&gt;
'CLEAR löscht den OC1X Pin&lt;br /&gt;
'TOGGLE toggelt den OC1X Pin&lt;br /&gt;
'DISCONNECT entkoppelt den TIMER vom Ausgabe-Pin OC1X&lt;br /&gt;
'CLEAR TIMER löscht den Timer bei Übereinstimmung des Timer-Wertes mit  Compare A.&lt;br /&gt;
 &lt;br /&gt;
'Zum Lesen/Schreiben des Compare-Registers kann man die COMPARE1A and COMPARE1B Variablen benutzen.&lt;br /&gt;
Compare1a = W&lt;br /&gt;
W = Compare1a&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Außerdem kann der TIMER im PWM Modus benutzt werden&lt;br /&gt;
'Man hat die Wahl zwischen 8,9 oder 10 Bit PWM Modus&lt;br /&gt;
'Außerdem kann man angeben, ob der Counter nach einem Compare-Match hoch oder runter zählen soll.&lt;br /&gt;
Config Timer1 = Pwm , Pwm = 8 , Compare_A_Pwm = Clear_Up , Compare_B_Pwm = Clear_Down , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'Um die PWM Register zu setzen werden einfach Werte an die Compare A bzw. B Registers zugewiesen&lt;br /&gt;
Compare1a = 100&lt;br /&gt;
Compare1b = 200&lt;br /&gt;
 &lt;br /&gt;
'Oder für bessere Lesbarkeit:&lt;br /&gt;
Pwm1a = 100&lt;br /&gt;
Pwm1b = 200&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de</id>
		<title>CONFIG TIMER1/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de"/>
				<updated>2013-04-01T21:42:22Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG TIMER1&amp;lt;/span&amp;gt;&amp;amp;nbsp;= COUNTER | TIMER | PWM ,&lt;br /&gt;
&lt;br /&gt;
EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 ,&lt;br /&gt;
&lt;br /&gt;
NOISE_CANCEL=0 |1, CAPTURE_EDGE = RISING | FALLING ,&lt;br /&gt;
&lt;br /&gt;
CLEAR_TIMER = 1|0,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_B = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
PWM = 8 | 9 10 ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
COMPARE_B_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
[,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Der TIMER1 ist ein 16 Bit-Zähler. Siehe die Hardware-Beschreibung des TIMER1.&lt;br /&gt;
&lt;br /&gt;
Es hängt vom verwendeten Chip ab, ob COMPARE_B verfügbar ist oder nicht.&lt;br /&gt;
&lt;br /&gt;
Einige Chips haben sogar einen COMPARE_C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die gezeigte Syntax muss in EINER Zeile stehen. Nicht alle Parameter müssen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So ist der Effekt der verschiedenen Parameter:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Man kann selektieren, ob der Timer für fallende oder steigende Flanke (fallig oder rising edge) benutzt werden soll. Nur für COUNTER-Modus.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CAPTURE_ EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the CAPTURE_EDGE = FALLING/RISING, you can specify to capture on the falling or rising edge of pin ICP&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOISE_ CANCELING&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Um Störunterdrückung zu ermöglichen kann man den Wert 1 einstellen. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Der TIMER ist in diesem Fall mit dem Systemtakt verbunden. Man kann den Teiler für den Systemtakt mit diesem Parameter wählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gültige Werte sind 1 , 8, 64, 256 oder 1024&lt;br /&gt;
&lt;br /&gt;
PRESCALE kann NICHT im COUNTER Modus verwendet werden.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der TIMER1 hat auch zwei Compare Register A und B&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Timer-Wert mit dem Wert in einem Compare-Register übereinstimmt dann kann eine Aktion ausgeführt werden.&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 93px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 502px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die Aktion kann sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SET setzt den OC1X Pin&lt;br /&gt;
&lt;br /&gt;
CLEAR löscht OC1X Pin&lt;br /&gt;
&lt;br /&gt;
TOGGLE toggelt den OC1X Pin&lt;br /&gt;
&lt;br /&gt;
DISCONNECT entkoppelt den TIMER com Ausgabe-Pin OC1X&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und der TIMER kann im PWM Modus benutzt werden.&lt;br /&gt;
&lt;br /&gt;
Man hat die Wahl zwischen 8, 9 oder 10 Bit PWM Modus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann außerdem spezifizieren, ob der Timer nach einer Übereinstimmung mit dem Compare Register hoch (UP) oder runter (DOWN) gezählt werden soll.&lt;br /&gt;
&lt;br /&gt;
Beachten Sie, dass es zwei Compare Register A und B gibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kann 8, 9 oder 10 sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A_PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM compare Modus. Kann CLEAR_UP oder CLEAR_DOWN sein&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung von COMPARE_A, COMPARE_B, COMPARE_A_PWM oder COMPARE_B_PWM werden die entsprechenden Ausgabe-Pins gesetzt. Wenn dies nicht gewünscht ist kann man  NO_OUTPUT benutzen damit der Output-Pin nicht verändert wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel&amp;amp;nbsp;: COMPARE_A_NO_OUTPUT , COMPARE_A_PWM NO_OUTPUT&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION ist optional. Wenn man configuration=mysetting hinzufügt dann kann man beim Start des Timers benutzen: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
Wenn man mehrere Settings hat dann kann man den Timer mit diesen Settings starten.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer1.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show using Timer1&lt;br /&gt;
'micro : 90S8515&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;8515def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim W As Word&lt;br /&gt;
 &lt;br /&gt;
'The TIMER1 is a versatile 16 bit TIMER.&lt;br /&gt;
'This example shows how to configure the TIMER&lt;br /&gt;
 &lt;br /&gt;
'First like TIMER0 , it can be set to act as a TIMER or COUNTER&lt;br /&gt;
'Lets configure it as a TIMER that means that it will count and that&lt;br /&gt;
'the input is provided by the internal clock.&lt;br /&gt;
'The internal clock can be divided by 1,8,64,256 or 1024&lt;br /&gt;
Config Timer1 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'You can read or write to the timer with the COUNTER1 or TIMER1 variable&lt;br /&gt;
W = Timer1&lt;br /&gt;
Timer1 = W&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'To use it as a COUNTER, you can choose on which edge it is trigereed&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'Also you can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
'With the CAPTURE EDGE = , you can specify to capture on the falling or rising edge of&lt;br /&gt;
'pin ICP&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Falling , Capture Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'To allow noise canceling you can also provide :&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling , Noise_Cancel = 1&lt;br /&gt;
 &lt;br /&gt;
'to read the input capture register :&lt;br /&gt;
W = Capture1&lt;br /&gt;
'to write to the capture register :&lt;br /&gt;
Capture1 = W&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'The TIMER also has two compare registers A and B&lt;br /&gt;
'When the timer value matches a compare register, an action can be performed&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Compare_A = Set , Compare_B = Toggle , Clear_Timer = 1&lt;br /&gt;
'SET , will set the OC1X pin&lt;br /&gt;
'CLEAR, will clear the OC1X pin&lt;br /&gt;
'TOGGLE, will toggle the OC1X pin&lt;br /&gt;
'DISCONNECT, will disconnect the TIMER from output pin OC1X&lt;br /&gt;
'CLEAR TIMER will clear the timer on a compare A match&lt;br /&gt;
 &lt;br /&gt;
'To read write the compare registers, you can use the COMPARE1A and COMPARE1B variables&lt;br /&gt;
Compare1a = W&lt;br /&gt;
W = Compare1a&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'And the TIMER can be used in PWM mode&lt;br /&gt;
'You have the choice between 8,9 or 10 bit PWM mode&lt;br /&gt;
'Also you can specify if the counter must count UP or down after a match&lt;br /&gt;
'to the compare registers&lt;br /&gt;
'Note that there are two compare registers A and B&lt;br /&gt;
Config Timer1 = Pwm , Pwm = 8 , Compare_A_Pwm = Clear_Up , Compare_B_Pwm = Clear_Down , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'to set the PWM registers, just assign a value to the compare A and B registers&lt;br /&gt;
Compare1a = 100&lt;br /&gt;
Compare1b = 200&lt;br /&gt;
 &lt;br /&gt;
'Or for better reading :&lt;br /&gt;
Pwm1a = 100&lt;br /&gt;
Pwm1b = 200&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de</id>
		<title>CONFIG TIMER1/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER1/de"/>
				<updated>2013-04-01T21:08:12Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG TIMER1&amp;lt;/span&amp;gt;&amp;amp;nbsp;= COUNTER | TIMER | PWM ,&lt;br /&gt;
&lt;br /&gt;
EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 ,&lt;br /&gt;
&lt;br /&gt;
NOISE_CANCEL=0 |1, CAPTURE_EDGE = RISING | FALLING ,&lt;br /&gt;
&lt;br /&gt;
CLEAR_TIMER = 1|0,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_B = CLEAR | SET | TOGGLE | DISCONNECT ,&lt;br /&gt;
&lt;br /&gt;
PWM = 8 | 9 10 ,&lt;br /&gt;
&lt;br /&gt;
COMPARE_A_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
COMPARE_B_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT&lt;br /&gt;
&lt;br /&gt;
[,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The TIMER1 is a 16 bit counter. See the hardware description of TIMER1.&lt;br /&gt;
&lt;br /&gt;
It depends on the chip if COMPARE_B is available or not.&lt;br /&gt;
&lt;br /&gt;
Some chips even have a COMARE_C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The syntax shown above must be on one line. Not all the options need to be selected.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the effect of the various options.&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can select whether the TIMER will count on the falling or rising edge. Only for COUNTER mode.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CAPTURE_ EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the CAPTURE_EDGE = FALLING/RISING, you can specify to capture on the falling or rising edge of pin ICP&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOISE_ CANCELING&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
To allow noise canceling you can provide a value of 1.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;19%&amp;quot; style=&amp;quot;width: 111px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 484px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid values are 1 , 8, 64, 256 or 1024&lt;br /&gt;
&lt;br /&gt;
PRESCALE can't be used in COUNTER mode.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TIMER1 also has two compare registers A and B&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the timer value matches a compare register, an action can be performed&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 93px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 502px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The action can be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SET will set the OC1X pin&lt;br /&gt;
&lt;br /&gt;
CLEAR will clear the OC1X pin&lt;br /&gt;
&lt;br /&gt;
TOGGLE will toggle the OC1X pin&lt;br /&gt;
&lt;br /&gt;
DISCONNECT will disconnect the TIMER from output pin OC1X&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the TIMER can be used in PWM mode.&lt;br /&gt;
&lt;br /&gt;
You have the choice between 8, 9 or 10 bit PWM mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also you can specify if the counter must count UP or down after a match to the compare registers&lt;br /&gt;
&lt;br /&gt;
Note that there are two compare registers A and B&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Can be 8, 9 or 10.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 153px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
COMPARE_A_PWM&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 442px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PWM compare mode. Can be CLEAR_UP or CLEAR_DOWN&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using COMPARE_A, COMPARE_B, COMPARE_A_PWM or COMPARE_B_PWM will set the corresponding pin for output. When this is not desired you can use the alternative NO_OUTPUT version that will not alter the output pin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example&amp;amp;nbsp;: COMPARE_A_NO_OUTPUT , COMPARE_A_PWM NO_OUTPUT&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION is optional. When you add configuration=mysetting, you can use this setting when you start the timer&amp;amp;nbsp;: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
If you have multiple settings, you can start the timer with these different settings.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer1.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show using Timer1&lt;br /&gt;
'micro : 90S8515&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;8515def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim W As Word&lt;br /&gt;
 &lt;br /&gt;
'The TIMER1 is a versatile 16 bit TIMER.&lt;br /&gt;
'This example shows how to configure the TIMER&lt;br /&gt;
 &lt;br /&gt;
'First like TIMER0 , it can be set to act as a TIMER or COUNTER&lt;br /&gt;
'Lets configure it as a TIMER that means that it will count and that&lt;br /&gt;
'the input is provided by the internal clock.&lt;br /&gt;
'The internal clock can be divided by 1,8,64,256 or 1024&lt;br /&gt;
Config Timer1 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'You can read or write to the timer with the COUNTER1 or TIMER1 variable&lt;br /&gt;
W = Timer1&lt;br /&gt;
Timer1 = W&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'To use it as a COUNTER, you can choose on which edge it is trigereed&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'Also you can choose to capture the TIMER registers to the INPUT CAPTURE registers&lt;br /&gt;
'With the CAPTURE EDGE = , you can specify to capture on the falling or rising edge of&lt;br /&gt;
'pin ICP&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling&lt;br /&gt;
'Config Timer1 = Counter , Edge = Falling , Capture Edge = Rising&lt;br /&gt;
 &lt;br /&gt;
'To allow noise canceling you can also provide :&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Capture_Edge = Falling , Noise_Cancel = 1&lt;br /&gt;
 &lt;br /&gt;
'to read the input capture register :&lt;br /&gt;
W = Capture1&lt;br /&gt;
'to write to the capture register :&lt;br /&gt;
Capture1 = W&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'The TIMER also has two compare registers A and B&lt;br /&gt;
'When the timer value matches a compare register, an action can be performed&lt;br /&gt;
Config Timer1 = Counter , Edge = Falling , Compare_A = Set , Compare_B = Toggle , Clear_Timer = 1&lt;br /&gt;
'SET , will set the OC1X pin&lt;br /&gt;
'CLEAR, will clear the OC1X pin&lt;br /&gt;
'TOGGLE, will toggle the OC1X pin&lt;br /&gt;
'DISCONNECT, will disconnect the TIMER from output pin OC1X&lt;br /&gt;
'CLEAR TIMER will clear the timer on a compare A match&lt;br /&gt;
 &lt;br /&gt;
'To read write the compare registers, you can use the COMPARE1A and COMPARE1B variables&lt;br /&gt;
Compare1a = W&lt;br /&gt;
W = Compare1a&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'And the TIMER can be used in PWM mode&lt;br /&gt;
'You have the choice between 8,9 or 10 bit PWM mode&lt;br /&gt;
'Also you can specify if the counter must count UP or down after a match&lt;br /&gt;
'to the compare registers&lt;br /&gt;
'Note that there are two compare registers A and B&lt;br /&gt;
Config Timer1 = Pwm , Pwm = 8 , Compare_A_Pwm = Clear_Up , Compare_B_Pwm = Clear_Down , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'to set the PWM registers, just assign a value to the compare A and B registers&lt;br /&gt;
Compare1a = 100&lt;br /&gt;
Compare1b = 200&lt;br /&gt;
 &lt;br /&gt;
'Or for better reading :&lt;br /&gt;
Pwm1a = 100&lt;br /&gt;
Pwm1b = 200&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de</id>
		<title>CONFIG TIMER0/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de"/>
				<updated>2013-04-01T21:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = COUNTER , EDGE=RISING/FALLING , CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER2&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;= TIMER | PWM , ASYNC=ON |OFF,PRESCALE = 1 | 8 | 32 | 64 | 128 | 256 | 1024 ,COMPARE = CLEAR | SET | TOGGLE | DISCONNECT ,PWM = ON | OFF ,COMPARE_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT ,CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
TIMER0 ist ein 8-Bit Zähler. Siehe Hardwarebeschreibung des TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn als COUNTER konfiguriert:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 123px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 472px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Man kann konfigurieren, ob auf fallende oder steigende Flanke gezählt werden soll.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn als TIMER konfiguriert:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 99px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 496px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
In diesem Fall ist der Timer mit dem Systemtakt verbunden. Man kann die Vorteilung des Systemtaktes mit diesem Parameter auswählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mögliche Werte sind 1 , 8, 64, 256 oder 1024&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachen Sie, dass einige AVR Chips andere Prescale-Werte haben. Sie können diese benutzen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION ist optional. Wenn Sie configuration=mysetting benutzen dann kann man diese Settings beim Start des Timers benutzen: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
Wenn man mehrere Settings hat dann kann man den Timer mit dieses unterschiedlichen Settings starten.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]&amp;amp;nbsp;Beachten Sie, dass die Hilfe im Hinblick auf die AT90S2313 und AT90S8515 geschrieben wurde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie den CONFIG TIMER0 Befehl benutzen dann wird der Modus gespeichert und das TCCRO Register wird gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wenn der STOP TIMER0 Befehl benutzt wird dann wird der Timer gestoppt.&lt;br /&gt;
&lt;br /&gt;
Wenn der START TIMER0 Befehl benutzt wird dann wird das TIMER TCCR0 Register mit dem letzten Wert, der durch den CONFIG TIMER0 Befehl konfiguriert wurde geladen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vor Benutzung des [[START]]&amp;amp;nbsp;oder&amp;amp;nbsp;[[STOP]]&amp;amp;nbsp;TIMER0 Befehls sollte daher erst der CONFIG Befehl benutzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer0.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows how to use TIMER0 related statements&lt;br /&gt;
'micro : 90S2313&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;2313def.dat&amp;quot; ' Verwendeter Mikrocontroller&lt;br /&gt;
$crystal = 8000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'Zunächst muss der Timer als Counter oder als Zähler konfiguriert werden.  &lt;br /&gt;
'Hier soll der Timer als Zähler=COUNTER konfiguriert werden.&lt;br /&gt;
'Man muss außerdem konfigurieren, ob man auf steigende (rising) oder fallende (falling) Flanke (edge) zählen möchte.&lt;br /&gt;
 &lt;br /&gt;
Config Timer0 = Counter , Edge = Rising 'Zähler mit steigender Flanke&lt;br /&gt;
'Config Timer0 = Counter , Edge = falling  'Zähler auf fallende Flanke&lt;br /&gt;
'entkommentieren Sie die obige Zeile um den Timer0 mit fallender Flanke zu benutzen.&lt;br /&gt;
 &lt;br /&gt;
'Um den Wert des Timers zu lesen/schreiben greifen Sie auf das Timer/Counter Register zu.&lt;br /&gt;
'Timer/Counter auf 0 setzen:&lt;br /&gt;
Tcnt0 = 0&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
Loop Until Tcnt0 &amp;gt;= 10&lt;br /&gt;
'Wenn 10 Pulse gezählt wurden dann wird die Schleife verlassen&lt;br /&gt;
'Oder benutzen Sie die Spezial-Variabke TIMER0&lt;br /&gt;
Timer0 = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Konfiguration als TIMER:&lt;br /&gt;
'Der TIMER kann den Systemtakt oder den geteilten Systemtakt als Input haben.&lt;br /&gt;
'Teilerfaktoren können sein: 1, 8,64,256 oder 1024&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'Der TIMER wird nun automatisch gestartet&lt;br /&gt;
'Man kann den Timer stoppen mit dem folgenden Befehl:&lt;br /&gt;
Stop Timer0&lt;br /&gt;
'Nun ist der Timer gestoppt.&lt;br /&gt;
&lt;br /&gt;
'Um den Timer mit dem zuletzt konfigurierten Modus zu starten benutzen Sie:&lt;br /&gt;
Start Timer0&lt;br /&gt;
 &lt;br /&gt;
'Auch hier kann man den Wert über das tcnt Register zugreifen:&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
'oder&lt;br /&gt;
Print Timer0&lt;br /&gt;
'Wenn der Timer überläuft dann wird ein Flag namens TOV0  im Register TIFR gesetzt&lt;br /&gt;
'Die kann benutzt werden um eine Interrupt Service Routine (ISR) auszuführen.&lt;br /&gt;
'Um das Flag manuell im Non-ISR Modus zu löschen muss man eine 1 in Bit 1 des TIFR-Registers schreiben:&lt;br /&gt;
Set Tifr.1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Der folgende Programm-Code zeigt die Verwendung von Timer0 im Interrupt-Modus&lt;br /&gt;
'Der Code ist auskommentiert durch Block-Kommentierung mit '( und ')&lt;br /&gt;
 &lt;br /&gt;
'(&lt;br /&gt;
 &lt;br /&gt;
'Konfiguration des Timers für die Verwendung des durch 1024 geteilten Systemtaktes:&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
'Definition der ISR-Routine:&lt;br /&gt;
On Ovf0 Tim0_isr&lt;br /&gt;
'Man kann auch TIMER0 für OVF0 benutzen. Die Wirkung ist dieselbe.&lt;br /&gt;
 &lt;br /&gt;
Enable Timer0 ' Einschalten des Timer-Interrupts&lt;br /&gt;
Enable Interrupts 'Einschalten ALLER Interrupts&lt;br /&gt;
Do&lt;br /&gt;
'hier beliebiger Code&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'Der folgende Code wird ausgeführt wenn der Timer überläuft:&lt;br /&gt;
Tim0_isr:&lt;br /&gt;
Print &amp;quot;*&amp;quot;;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
')&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de</id>
		<title>CONFIG TIMER0/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de"/>
				<updated>2013-04-01T20:34:36Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = COUNTER , EDGE=RISING/FALLING , CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER2&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;= TIMER | PWM , ASYNC=ON |OFF,PRESCALE = 1 | 8 | 32 | 64 | 128 | 256 | 1024 ,COMPARE = CLEAR | SET | TOGGLE | DISCONNECT ,PWM = ON | OFF ,COMPARE_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT ,CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
TIMER0 ist ein 8-Bit Zähler. Siehe Hardwarebeschreibung des TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn als COUNTER konfiguriert:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 123px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 472px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Man kann konfigurieren, ob auf fallende oder steigende Flanke gezählt werden soll.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn als TIMER konfiguriert:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 99px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 496px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
In diesem Fall ist der Timer mit dem Systemtakt verbunden. Man kann die Vorteilung des Systemtaktes mit diesem Parameter auswählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mögliche Werte sind 1 , 8, 64, 256 oder 1024&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachen Sie, dass einige AVR Chips andere Prescale-Werte haben. Sie können diese benutzen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION ist optional. Wenn Sie configuration=mysetting benutzen dann kann man diese Settings beim Start des Timers benutzen: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
Wenn man mehrere Settings hat dann kann man den Timer mit dieses unterschiedlichen Settings starten.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]&amp;amp;nbsp;Beachten Sie, dass die Hilfe im Hinblick auf die AT90S2313 und AT90S8515 geschrieben wurde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie den CONFIG TIMER0 Befehl benutzen dann wird der Modus gespeichert und das TCCRO Register wird gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wenn der STOP TIMER0 Befehl benutzt wird dann wird der Timer gestoppt.&lt;br /&gt;
&lt;br /&gt;
Wenn der START TIMER0 Befehl benutzt wird dann wird das TIMER TCCR0 Register mit dem letzten Wert, der durch den CONFIG TIMER0 Befehl konfiguriert wurde geladen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vor Benutzung des [[START]]&amp;amp;nbsp;oder&amp;amp;nbsp;[[STOP]]&amp;amp;nbsp;TIMER0 Befehls sollte daher erst der CONFIG Befehl benutzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer0.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows how to use TIMER0 related statements&lt;br /&gt;
'micro : 90S2313&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;2313def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 8000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'First you must configure the timer to operate as a counter or as a timer&lt;br /&gt;
'Lets configure it as a COUNTER now&lt;br /&gt;
'You must also specify if it will count on a rising or falling edge&lt;br /&gt;
 &lt;br /&gt;
Config Timer0 = Counter , Edge = Rising&lt;br /&gt;
'Config Timer0 = Counter , Edge = falling&lt;br /&gt;
'unremark the line aboven to use timer0 to count on falling edge&lt;br /&gt;
 &lt;br /&gt;
'To get/set the value from the timer access the timer/counter register&lt;br /&gt;
'lets reset it to 0&lt;br /&gt;
Tcnt0 = 0&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
Loop Until Tcnt0 &amp;gt;= 10&lt;br /&gt;
'when 10 pulses are count the loop is exited&lt;br /&gt;
'or use the special variable TIMER0&lt;br /&gt;
Timer0 = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Now configire it as a TIMER&lt;br /&gt;
'The TIMER can have the systemclock as an input or the systemclock divided&lt;br /&gt;
'by 8,64,256 or 1024&lt;br /&gt;
'The prescale parameter excepts 1,8,64,256 or 1024&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'The TIMER is started now automaticly&lt;br /&gt;
'You can STOP the timer with the following statement :&lt;br /&gt;
Stop Timer0&lt;br /&gt;
 &lt;br /&gt;
'Now the timer is stopped&lt;br /&gt;
'To START it again in the last configured mode, use :&lt;br /&gt;
Start Timer0&lt;br /&gt;
 &lt;br /&gt;
'Again you can access the value with the tcnt0 register&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
'or&lt;br /&gt;
Print Timer0&lt;br /&gt;
'when the timer overflows, a flag named TOV0 in register TIFR is set&lt;br /&gt;
'You can use this to execute an ISR&lt;br /&gt;
'To reset the flag manual in non ISR mode you must write a 1 to the bit position&lt;br /&gt;
'in TIFR:&lt;br /&gt;
Set Tifr.1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'The following code shows how to use the TIMER0 in interrupt mode&lt;br /&gt;
'The code is block remarked with '( en ')&lt;br /&gt;
 &lt;br /&gt;
'(&lt;br /&gt;
 &lt;br /&gt;
'Configute the timer to use the clock divided by 1024&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
'Define the ISR handler&lt;br /&gt;
On Ovf0 Tim0_isr&lt;br /&gt;
'you may also use TIMER0 for OVF0, it is the same&lt;br /&gt;
 &lt;br /&gt;
Enable Timer0 ' enable the timer interrupt&lt;br /&gt;
Enable Interrupts 'allow interrupts to occur&lt;br /&gt;
Do&lt;br /&gt;
'your program goes here&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'the following code is executed when the timer rolls over&lt;br /&gt;
Tim0_isr:&lt;br /&gt;
Print &amp;quot;*&amp;quot;;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
')&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de</id>
		<title>CONFIG TIMER0/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_TIMER0/de"/>
				<updated>2013-04-01T20:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfigurieren des TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = COUNTER , EDGE=RISING/FALLING , CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
CONFIG TIMER2&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;= TIMER | PWM , ASYNC=ON |OFF,PRESCALE = 1 | 8 | 32 | 64 | 128 | 256 | 1024 ,COMPARE = CLEAR | SET | TOGGLE | DISCONNECT ,PWM = ON | OFF ,COMPARE_PWM = CLEAR_UP| CLEAR_DOWN | DISCONNECT ,CLEAR_TIMER = 1|0 [,CONFIGURATION=NAME]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
TIMER0 is an 8 bit counter. See the hardware description of TIMER0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When configured as a COUNTER:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 123px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EDGE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 472px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can select whether the TIMER will count on the falling or rising edge.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When configured as a TIMER:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 99px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
PRESCALE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 496px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid values are 1 , 8, 64, 256 or 1024&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that some new AVR chips have different pre scale values. You can use these.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
CONFIGURATION is optional. When you add configuration=mysetting, you can use this setting when you start the timer&amp;amp;nbsp;: START TIMER0 , mysetting&lt;br /&gt;
&lt;br /&gt;
If you have multiple settings, you can start the timer with these different settings.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]&amp;amp;nbsp;Notice that the Help was written with the AT90S2313 and AT90S8515 timers in mind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you use the CONFIG TIMER0 statement, the mode is stored by the compiler and the TCCRO register is set.&lt;br /&gt;
&lt;br /&gt;
When you use the STOP TIMER0 statement, the TIMER is stopped.&lt;br /&gt;
&lt;br /&gt;
When you use the START TIMER0 statement, the TIMER TCCR0 register is loaded with the last value that was configured with the CONFIG TIMER0 statement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So before using the&amp;amp;nbsp;[[START]]&amp;amp;nbsp;and&amp;amp;nbsp;[[STOP]]&amp;amp;nbsp;TIMER0 statements, use the CONFIG statement first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : timer0.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows how to use TIMER0 related statements&lt;br /&gt;
'micro : 90S2313&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;2313def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 8000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'First you must configure the timer to operate as a counter or as a timer&lt;br /&gt;
'Lets configure it as a COUNTER now&lt;br /&gt;
'You must also specify if it will count on a rising or falling edge&lt;br /&gt;
 &lt;br /&gt;
Config Timer0 = Counter , Edge = Rising&lt;br /&gt;
'Config Timer0 = Counter , Edge = falling&lt;br /&gt;
'unremark the line aboven to use timer0 to count on falling edge&lt;br /&gt;
 &lt;br /&gt;
'To get/set the value from the timer access the timer/counter register&lt;br /&gt;
'lets reset it to 0&lt;br /&gt;
Tcnt0 = 0&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
Loop Until Tcnt0 &amp;gt;= 10&lt;br /&gt;
'when 10 pulses are count the loop is exited&lt;br /&gt;
'or use the special variable TIMER0&lt;br /&gt;
Timer0 = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Now configire it as a TIMER&lt;br /&gt;
'The TIMER can have the systemclock as an input or the systemclock divided&lt;br /&gt;
'by 8,64,256 or 1024&lt;br /&gt;
'The prescale parameter excepts 1,8,64,256 or 1024&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1&lt;br /&gt;
 &lt;br /&gt;
'The TIMER is started now automaticly&lt;br /&gt;
'You can STOP the timer with the following statement :&lt;br /&gt;
Stop Timer0&lt;br /&gt;
 &lt;br /&gt;
'Now the timer is stopped&lt;br /&gt;
'To START it again in the last configured mode, use :&lt;br /&gt;
Start Timer0&lt;br /&gt;
 &lt;br /&gt;
'Again you can access the value with the tcnt0 register&lt;br /&gt;
Print Tcnt0&lt;br /&gt;
'or&lt;br /&gt;
Print Timer0&lt;br /&gt;
'when the timer overflows, a flag named TOV0 in register TIFR is set&lt;br /&gt;
'You can use this to execute an ISR&lt;br /&gt;
'To reset the flag manual in non ISR mode you must write a 1 to the bit position&lt;br /&gt;
'in TIFR:&lt;br /&gt;
Set Tifr.1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'The following code shows how to use the TIMER0 in interrupt mode&lt;br /&gt;
'The code is block remarked with '( en ')&lt;br /&gt;
 &lt;br /&gt;
'(&lt;br /&gt;
 &lt;br /&gt;
'Configute the timer to use the clock divided by 1024&lt;br /&gt;
Config Timer0 = Timer , Prescale = 1024&lt;br /&gt;
 &lt;br /&gt;
'Define the ISR handler&lt;br /&gt;
On Ovf0 Tim0_isr&lt;br /&gt;
'you may also use TIMER0 for OVF0, it is the same&lt;br /&gt;
 &lt;br /&gt;
Enable Timer0 ' enable the timer interrupt&lt;br /&gt;
Enable Interrupts 'allow interrupts to occur&lt;br /&gt;
Do&lt;br /&gt;
'your program goes here&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'the following code is executed when the timer rolls over&lt;br /&gt;
Tim0_isr:&lt;br /&gt;
Print &amp;quot;*&amp;quot;;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
')&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)</id>
		<title>STAND ?BERSETZUNG (tempor?r)</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)"/>
				<updated>2013-03-26T23:43:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAIN MENUE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  *Installation/de&lt;br /&gt;
 Übersetzt Installation of BASCOM/de&lt;br /&gt;
 Übersetzt Installation on multiple computers/de&lt;br /&gt;
 Übersetzt Move to new PC/de&lt;br /&gt;
 Übersetzt Updates/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM Language Fundamentals/de&lt;br /&gt;
 Übersetzt ASCII chart/de&lt;br /&gt;
 Übersetzt Assembler mnemonics/de&lt;br /&gt;
 Übersetzt Changes compared to BASCOM-8051/de&lt;br /&gt;
 Übersetzt Error Codes/de&lt;br /&gt;
 Übersetzt Keyword reference/de&lt;br /&gt;
 Übersetzt  Language Fundamentals/de&lt;br /&gt;
 Übersetzt Mixing ASM and BASIC/de&lt;br /&gt;
 Übersetzt Newbie problems/de&lt;br /&gt;
 No content?? Reserved Words/de&lt;br /&gt;
 Übersetzt Tips and tricks/de&lt;br /&gt;
&lt;br /&gt;
  *ASM Libraries and Add-Ons/de&lt;br /&gt;
 *AVR-DOS/de&lt;br /&gt;
 *BCCARD/de&lt;br /&gt;
 *CF Card/de&lt;br /&gt;
 *DATE TIME/de&lt;br /&gt;
 *Floating Point/de&lt;br /&gt;
 *I2C SLAVE/de&lt;br /&gt;
 *LCD/de&lt;br /&gt;
 *PS2-AT Mouse and Keyboard Emulation/de&lt;br /&gt;
 *SPI/de&lt;br /&gt;
 *USB/de&lt;br /&gt;
 EXTENDED I2C/de&lt;br /&gt;
 FM24C16/de&lt;br /&gt;
 FM24C64-256/de&lt;br /&gt;
 FM25C256/de&lt;br /&gt;
 HEXVAL lib/de&lt;br /&gt;
 I2C-TWI/de&lt;br /&gt;
 MCSBYTE/de&lt;br /&gt;
 MCSBYTEINT/de&lt;br /&gt;
 MODBUS Slave-Server/de&lt;br /&gt;
 TCPIP/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM HARDWARE/de&lt;br /&gt;
 *Chips/de&lt;br /&gt;
 *Reference Designs/de&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background-color: rgb(249, 249, 249); font-family: monospace, 'Courier New'; font-size: 11px; line-height: 1.3em;&amp;quot;&amp;gt;Übersetzt &amp;lt;/span&amp;gt;Adding XRAM to XMEGA using EBI/de&lt;br /&gt;
 Adding XRAM with External Memory Interface/de&lt;br /&gt;
 Additional Hardware/de&lt;br /&gt;
 Attaching an LCD Display/de&lt;br /&gt;
 AVR Internal Hardware Port B/de&lt;br /&gt;
 AVR Internal Hardware Port D/de&lt;br /&gt;
 AVR Internal Hardware TIMER0/de&lt;br /&gt;
 AVR Internal Hardware TIMER1/de&lt;br /&gt;
 AVR Internal Hardware Watchdog timer/de&lt;br /&gt;
 AVR Internal Hardware/de&lt;br /&gt;
 AVR Internal Registers/de&lt;br /&gt;
 Memory usage/de&lt;br /&gt;
 Power Up/de&lt;br /&gt;
 Using RS485/de&lt;br /&gt;
 Using the 1 WIRE protocol/de&lt;br /&gt;
 Using the I2C protocol/de&lt;br /&gt;
 Using the SPI protocol/de&lt;br /&gt;
 Übersetzt Using the UART/de&lt;br /&gt;
 Using USI (Universal Serial Interface)/de&lt;br /&gt;
&lt;br /&gt;
 *Tools/de&lt;br /&gt;
 LCD RGB-8 Converter/de&lt;br /&gt;
&lt;br /&gt;
 *BASCOM IDE/de&lt;br /&gt;
 *Options Compiler/de&lt;br /&gt;
 *Options Programmer/de&lt;br /&gt;
 *Plugins/de&lt;br /&gt;
 Übersetzt BASCOM Editor Keys/de&lt;br /&gt;
 Edit Copy/de&lt;br /&gt;
 Edit Cut/de&lt;br /&gt;
 Edit Encrypt Selected Code/de&lt;br /&gt;
 Edit Find Next/de&lt;br /&gt;
 Edit Find/de&lt;br /&gt;
 Edit Goto Bookmark/de&lt;br /&gt;
 Edit Goto/de&lt;br /&gt;
 Edit Indent Block/de&lt;br /&gt;
 Edit Paste/de&lt;br /&gt;
 Edit Redo/de&lt;br /&gt;
 Edit Remark Block/de&lt;br /&gt;
 Edit Replace/de&lt;br /&gt;
 Edit Toggle Bookmark/de&lt;br /&gt;
 Edit Undo/de&lt;br /&gt;
 Edit Unindent Block/de&lt;br /&gt;
 File Close/de&lt;br /&gt;
 File Exit/de&lt;br /&gt;
 File New/de&lt;br /&gt;
 File Open/de&lt;br /&gt;
 File Print Preview/de&lt;br /&gt;
 File Print/de&lt;br /&gt;
 File Project/de&lt;br /&gt;
 File Save As/de&lt;br /&gt;
 File Save/de&lt;br /&gt;
 Help About/de&lt;br /&gt;
 Help Credits/de&lt;br /&gt;
 Help Index/de&lt;br /&gt;
 Help Knowledge Base/de&lt;br /&gt;
 Help MCS Forum/de&lt;br /&gt;
 Help MCS Shop/de&lt;br /&gt;
 Help Support/de&lt;br /&gt;
 Help Update/de&lt;br /&gt;
 Options Communication/de&lt;br /&gt;
 Options Environment/de&lt;br /&gt;
 Options Monitor/de&lt;br /&gt;
 Options Printer/de&lt;br /&gt;
 Options Simulator/de&lt;br /&gt;
 Program Compile/de&lt;br /&gt;
 Program Development Order/de&lt;br /&gt;
 Program Send to Chip/de&lt;br /&gt;
 Program Show Result/de&lt;br /&gt;
 Program Simulate/de&lt;br /&gt;
 Program Syntax Check/de&lt;br /&gt;
 Running BASCOM-AVR/de&lt;br /&gt;
 Tools Batch Compile/de&lt;br /&gt;
 Tools Graphic Converter/de&lt;br /&gt;
 Tools LCD Designer/de&lt;br /&gt;
 Tools LIB Manager/de&lt;br /&gt;
 Tools PDF Update/de&lt;br /&gt;
 Tools Plugin Manager/de&lt;br /&gt;
 Tools Resource Editor/de&lt;br /&gt;
 Tools Stack Analyzer/de&lt;br /&gt;
 Tools Terminal Emulator/de&lt;br /&gt;
 View Code Explorer/de&lt;br /&gt;
 View Error Panel/de&lt;br /&gt;
 View PDF viewer/de&lt;br /&gt;
 View PinOut/de&lt;br /&gt;
 View Project Files/de&lt;br /&gt;
 View Tip/de&lt;br /&gt;
 Window Arrange Icons/de&lt;br /&gt;
 Window Cascade/de&lt;br /&gt;
 Window Minimize All/de&lt;br /&gt;
 Window Tile/de&lt;br /&gt;
 Windows Maximize All/de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 BASCOM-AVR Stichworte - DE Übersetzung&lt;br /&gt;
&lt;br /&gt;
 $AESKEY/de&lt;br /&gt;
 $ASM/de&lt;br /&gt;
 $BAUD/de&lt;br /&gt;
 $BAUD1/de&lt;br /&gt;
 $BGF/de&lt;br /&gt;
 $BIGSTRINGS/de&lt;br /&gt;
 $BOOT/de&lt;br /&gt;
 $CRYPT/de&lt;br /&gt;
 Übersetzt $CRYSTAL/de&lt;br /&gt;
 $DATA/de&lt;br /&gt;
 $DBG/de&lt;br /&gt;
 $DEFAULT/de&lt;br /&gt;
 Übersetzt $EEPLEAVE/de&lt;br /&gt;
 Übersetzt $EEPROM/de&lt;br /&gt;
 Übersetzt $EEPROMHEX/de&lt;br /&gt;
 $EEPROMSIZE/de&lt;br /&gt;
 $EXTERNAL/de&lt;br /&gt;
 $FILE/de&lt;br /&gt;
 $FRAMECHECK/de&lt;br /&gt;
 $FRAMEPROTECT/de&lt;br /&gt;
 $FRAMESIZE/de&lt;br /&gt;
 $HWCHECK/de&lt;br /&gt;
 $HWSTACK/de&lt;br /&gt;
 $INC/de&lt;br /&gt;
 $INCLUDE/de&lt;br /&gt;
 $INITMICRO/de&lt;br /&gt;
 Übersetzt $LCD/de&lt;br /&gt;
 $LCDPUTCTRL/de&lt;br /&gt;
 $LCDPUTDATA/de&lt;br /&gt;
 Übersetzt $LCDRS/de&lt;br /&gt;
 $LCDVFO/de&lt;br /&gt;
 $LIB/de&lt;br /&gt;
 $LOADER/de&lt;br /&gt;
 $LOADERSIZE/de&lt;br /&gt;
 $MAP/de&lt;br /&gt;
 $NOCOMPILE/de&lt;br /&gt;
 $NOFRAMEPROTECT/de&lt;br /&gt;
 $NOINIT/de&lt;br /&gt;
 $NORAMCLEAR/de&lt;br /&gt;
 $NORAMPZ/de&lt;br /&gt;
 $NOTRANSFORM/de&lt;br /&gt;
 $PROG/de&lt;br /&gt;
 $PROGRAMMER/de&lt;br /&gt;
 $PROJECTTIME/de&lt;br /&gt;
 $REGFILE/de&lt;br /&gt;
 $RESOURCE/de&lt;br /&gt;
 $ROMSTART/de&lt;br /&gt;
 $SERIALINPUT/de&lt;br /&gt;
 $SERIALINPUT1/de&lt;br /&gt;
 $SERIALINPUT2LCD/de&lt;br /&gt;
 $SERIALOUTPUT/de&lt;br /&gt;
 $SERIALOUTPUT1/de&lt;br /&gt;
 Übersetzt $SIM/de&lt;br /&gt;
 $SOFTCHECK/de&lt;br /&gt;
 $STACKDUMP/de&lt;br /&gt;
 $SWSTACK/de&lt;br /&gt;
 $TIMEOUT/de&lt;br /&gt;
 $TINY/de&lt;br /&gt;
 $VERSION/de&lt;br /&gt;
 $WAITSTATE/de&lt;br /&gt;
 $XA/de&lt;br /&gt;
 $XRAMSIZE/de&lt;br /&gt;
 $XRAMSTART/de&lt;br /&gt;
 $XTEAKEY/de&lt;br /&gt;
&lt;br /&gt;
 *AUTOCODE/de&lt;br /&gt;
 *IF ELSE ELSEIF ENDIF/de&lt;br /&gt;
&lt;br /&gt;
 1WIRECOUNT/de&lt;br /&gt;
 In Arbeit 1WREAD/de&lt;br /&gt;
 1WRESET/de&lt;br /&gt;
 1WSEARCHFIRST/de&lt;br /&gt;
 1WSEARCHNEXT/de&lt;br /&gt;
 1WVERIFY/de&lt;br /&gt;
 Übersetzt 1WWRITE/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt ABS/de&lt;br /&gt;
 ACOS/de&lt;br /&gt;
 Übersetzt ADR/de&lt;br /&gt;
 Übersetzt ADR2/de&lt;br /&gt;
 AESDECRYPT/de&lt;br /&gt;
 AESENCRYPT/de&lt;br /&gt;
 Übersetzt ALIAS/de&lt;br /&gt;
 Übersetzt ASC/de&lt;br /&gt;
 ASIN/de&lt;br /&gt;
 ATN/de&lt;br /&gt;
 ATN2/de&lt;br /&gt;
&lt;br /&gt;
 BASE64DEC/de&lt;br /&gt;
 BASE64ENC/de&lt;br /&gt;
 BAUD/de&lt;br /&gt;
 BAUD1/de&lt;br /&gt;
 Übersetzt BCD/de&lt;br /&gt;
 Übersetzt BIN/de&lt;br /&gt;
 BIN2GRAY/de&lt;br /&gt;
 Übersetzt BINVAL/de&lt;br /&gt;
 Übersetzt BITS/de&lt;br /&gt;
 Übersetzt BITWAIT/de&lt;br /&gt;
 BLOAD/de&lt;br /&gt;
 BOX/de&lt;br /&gt;
 BOXFILL/de&lt;br /&gt;
 BSAVE/de&lt;br /&gt;
 BUFSPACE/de&lt;br /&gt;
 BYVAL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt CALL/de&lt;br /&gt;
 CANBAUD/de&lt;br /&gt;
 CANCLEARALLMOBS/de&lt;br /&gt;
 CANCLEARMOB/de&lt;br /&gt;
 CANGETINTS/de&lt;br /&gt;
 CANID/de&lt;br /&gt;
 CANRECEIVE/de&lt;br /&gt;
 CANRESET/de&lt;br /&gt;
 CANSELPAGE/de&lt;br /&gt;
 CANSEND/de&lt;br /&gt;
 Übersetzt CHARPOS/de&lt;br /&gt;
 CHDIR/de&lt;br /&gt;
 CHECKFLOAT/de&lt;br /&gt;
 CHECKSUM/de&lt;br /&gt;
 CHECKSUMXOR/de&lt;br /&gt;
 Übersetzt CHR/de&lt;br /&gt;
 CIRCLE/de&lt;br /&gt;
 CLEAR/de&lt;br /&gt;
 CLOCKDIVISION/de&lt;br /&gt;
 CLOSE/de&lt;br /&gt;
 CLOSESOCKET/de&lt;br /&gt;
 Übersetzt CLS/de&lt;br /&gt;
 CONFIG/de&lt;br /&gt;
 CONFIG 1WIRE/de&lt;br /&gt;
 CONFIG ACI/de&lt;br /&gt;
 CONFIG ACXX/de&lt;br /&gt;
 CONFIG ADC/de&lt;br /&gt;
 CONFIG ADCX/de&lt;br /&gt;
 CONFIG ATEMU/de&lt;br /&gt;
 CONFIG BASE/de&lt;br /&gt;
 CONFIG BCCARD/de&lt;br /&gt;
 CONFIG CANBUS/de&lt;br /&gt;
 CONFIG CANMOB/de&lt;br /&gt;
 CONFIG CLOCK/de&lt;br /&gt;
 CONFIG CLOCKDIV/de&lt;br /&gt;
 CONFIG COM1/de&lt;br /&gt;
 CONFIG COM2/de&lt;br /&gt;
 CONFIG COMX/de&lt;br /&gt;
 CONFIG DACX/de&lt;br /&gt;
 Übersetzt CONFIG DATE/de&lt;br /&gt;
 CONFIG DCF77/de&lt;br /&gt;
 Übersetzt CONFIG DEBOUNCE/de&lt;br /&gt;
 CONFIG DMA/de&lt;br /&gt;
 CONFIG DMACHX/de&lt;br /&gt;
 CONFIG DMXSLAVE/de&lt;br /&gt;
 CONFIG DP/de&lt;br /&gt;
 CONFIG EEPROM/de&lt;br /&gt;
 CONFIG ERROR/de&lt;br /&gt;
 CONFIG EVENT SYSTEM/de&lt;br /&gt;
 CONFIG EXTENDED PORT/de&lt;br /&gt;
 CONFIG GRAPHLCD/de&lt;br /&gt;
 CONFIG HITAG/de&lt;br /&gt;
 CONFIG I2CDELAY/de&lt;br /&gt;
 CONFIG I2CSLAVE/de&lt;br /&gt;
 CONFIG INPUT/de&lt;br /&gt;
 CONFIG INTX/de&lt;br /&gt;
 CONFIG KBD/de&lt;br /&gt;
 CONFIG KEYBOARD/de&lt;br /&gt;
 Übersetzt CONFIG LCD/de&lt;br /&gt;
 CONFIG LCDBUS/de&lt;br /&gt;
 Übersetzt CONFIG LCDMODE/de&lt;br /&gt;
 Übersetzt CONFIG LCDPIN/de&lt;br /&gt;
 CONFIG OSC/de&lt;br /&gt;
 Übersetzt CONFIG PORT/de&lt;br /&gt;
 Übersetzt CONFIG POWERMODE/de&lt;br /&gt;
 CONFIG POWER REDUCTION/de&lt;br /&gt;
 CONFIG PRINT/de&lt;br /&gt;
 CONFIG PRINTBIN/de&lt;br /&gt;
 CONFIG PRIORITY/de&lt;br /&gt;
 CONFIG PS2EMU/de&lt;br /&gt;
 CONFIG RC5/de&lt;br /&gt;
 CONFIG SCL/de&lt;br /&gt;
 CONFIG SDA/de&lt;br /&gt;
 CONFIG SERIALIN/de&lt;br /&gt;
 CONFIG SERIALOUT/de&lt;br /&gt;
 CONFIG SERVOS/de&lt;br /&gt;
 CONFIG SHIFTIN/de&lt;br /&gt;
 CONFIG SINGLE/de&lt;br /&gt;
 CONFIG SPI/de&lt;br /&gt;
 CONFIG SPIX/de&lt;br /&gt;
 Übersetzt CONFIG SUBMODE/de&lt;br /&gt;
 CONFIG SYSCLOCK/de&lt;br /&gt;
 CONFIG TCPIP/de&lt;br /&gt;
 CONFIG TCXX/de&lt;br /&gt;
 CONFIG TIMER0/de&lt;br /&gt;
 CONFIG TIMER1/de&lt;br /&gt;
 CONFIG TIMER2/de&lt;br /&gt;
 CONFIG TWI/de&lt;br /&gt;
 CONFIG TWISLAVE/de&lt;br /&gt;
 CONFIG USB/de&lt;br /&gt;
 CONFIG VPORT/de&lt;br /&gt;
 CONFIG WAITSUART/de&lt;br /&gt;
 CONFIG WATCHDOG/de&lt;br /&gt;
 CONFIG X10/de&lt;br /&gt;
 CONFIG XPIN/de&lt;br /&gt;
 CONFIG XRAM/de&lt;br /&gt;
 Übersetzt CONST/de&lt;br /&gt;
 Übersetzt COS/de&lt;br /&gt;
 COSH/de&lt;br /&gt;
 COUNTER0/de&lt;br /&gt;
 COUNTER1/de&lt;br /&gt;
 CPEEK/de&lt;br /&gt;
 CPEEKH/de&lt;br /&gt;
 CRC16/de&lt;br /&gt;
 CRC16UNI/de&lt;br /&gt;
 CRC32/de&lt;br /&gt;
 CRC8/de&lt;br /&gt;
 CRYSTAL/de&lt;br /&gt;
 Übersetzt CURSOR/de&lt;br /&gt;
 &lt;br /&gt;
 DATA/de&lt;br /&gt;
 Übersetzt DATE$/de&lt;br /&gt;
 DATE/de&lt;br /&gt;
 Übersetzt DAYOFWEEK/de&lt;br /&gt;
 DAYOFYEAR/de&lt;br /&gt;
 DBG/de&lt;br /&gt;
 DCF77TIMEZONE/de&lt;br /&gt;
 Übersetzt DEBOUNCE/de&lt;br /&gt;
 DEBUG/de&lt;br /&gt;
 DECLARE FUNCTION/de&lt;br /&gt;
 Übersetzt DECLARE SUB/de&lt;br /&gt;
 Übersetzt DECR/de&lt;br /&gt;
 Übersetzt DEFLCDCHAR/de&lt;br /&gt;
 DEFXXX/de&lt;br /&gt;
 DEG2RAD/de&lt;br /&gt;
 Übersetzt DELAY/de&lt;br /&gt;
 Übersetzt DELCHAR/de&lt;br /&gt;
 Übersetzt DELCHARS/de&lt;br /&gt;
 DIM/de&lt;br /&gt;
 DIR/de&lt;br /&gt;
 Übersetzt DISABLE/de&lt;br /&gt;
 DISKFREE/de&lt;br /&gt;
 DISKSIZE/de&lt;br /&gt;
 DISPLAY/de&lt;br /&gt;
 Übersetzt DO-LOOP/de&lt;br /&gt;
 DTMFOUT/de&lt;br /&gt;
 DriveCheck/de&lt;br /&gt;
 DriveGetIdentity/de&lt;br /&gt;
 DriveInit/de&lt;br /&gt;
 DriveReadSector/de&lt;br /&gt;
 DriveReset/de&lt;br /&gt;
 DriveWriteSector/de&lt;br /&gt;
&lt;br /&gt;
 ECHO/de&lt;br /&gt;
 ELSE/de&lt;br /&gt;
 Übersetzt ENABLE/de&lt;br /&gt;
 ENCODER/de&lt;br /&gt;
 Übersetzt END/de&lt;br /&gt;
 EOF/de&lt;br /&gt;
 EXIT/de&lt;br /&gt;
 EXP/de&lt;br /&gt;
 &lt;br /&gt;
 FILEATTR/de&lt;br /&gt;
 FILEDATE/de&lt;br /&gt;
 FILEDATETIME/de&lt;br /&gt;
 FILELEN/de&lt;br /&gt;
 FILETIME/de&lt;br /&gt;
 Übersetzt FIX/de&lt;br /&gt;
 FLUSH/de&lt;br /&gt;
 Übersetzt FOR-NEXT/de&lt;br /&gt;
 FORMAT/de&lt;br /&gt;
 Übersetzt FOURTHLINE/de&lt;br /&gt;
 Übersetzt FRAC/de&lt;br /&gt;
 FREEFILE/de&lt;br /&gt;
 FUSING/de&lt;br /&gt;
&lt;br /&gt;
 GET/de&lt;br /&gt;
 GETADC/de&lt;br /&gt;
 GETATKBD/de&lt;br /&gt;
 GETATKBDRAW/de&lt;br /&gt;
 GETDSTIP/de&lt;br /&gt;
 GETDSTPORT/de&lt;br /&gt;
 GETKBD/de&lt;br /&gt;
 GETRC/de&lt;br /&gt;
 GETRC5/de&lt;br /&gt;
 GETREG/de&lt;br /&gt;
 GETSOCKET/de&lt;br /&gt;
 GETTCPREGS/de&lt;br /&gt;
 GLCDCMD/de&lt;br /&gt;
 GLCDDATA/de&lt;br /&gt;
 Übersetzt GOSUB/de&lt;br /&gt;
 Übersetzt GOTO/de&lt;br /&gt;
 GRAY2BIN/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt HEX/de&lt;br /&gt;
 Übersetzt HEXVAL/de&lt;br /&gt;
 Übersetzt HIGH/de&lt;br /&gt;
 Übersetzt HIGHW/de&lt;br /&gt;
 Übersetzt HOME/de&lt;br /&gt;
 &lt;br /&gt;
 I2CINIT/de&lt;br /&gt;
 I2CRBYTE/de&lt;br /&gt;
 I2CRECEIVE/de&lt;br /&gt;
 I2CREPSTART/de&lt;br /&gt;
 I2CSEND/de&lt;br /&gt;
 I2CSTART/de&lt;br /&gt;
 I2CSTOP/de&lt;br /&gt;
 I2CWBYTE/de&lt;br /&gt;
 Übersetzt IDLE/de&lt;br /&gt;
 Übersetzt IF-THEN-ELSE-END IF/de&lt;br /&gt;
 Übersetzt INCR/de&lt;br /&gt;
 INITFILESYSTEM/de&lt;br /&gt;
 Übersetzt INITLCD/de&lt;br /&gt;
 Übersetzt INKEY/de&lt;br /&gt;
 INP/de&lt;br /&gt;
 Übersetzt INPUT/de&lt;br /&gt;
 INPUTBIN/de&lt;br /&gt;
 INPUTHEX/de&lt;br /&gt;
 INSERTCHAR/de&lt;br /&gt;
 INSTR/de&lt;br /&gt;
 Übersetzt INT/de&lt;br /&gt;
 IP2STR/de&lt;br /&gt;
 Übersetzt ISCHARWAITING/de&lt;br /&gt;
&lt;br /&gt;
 KILL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt LCASE/de&lt;br /&gt;
 Übersetzt LCD/de&lt;br /&gt;
 Übersetzt LCDAT/de&lt;br /&gt;
 Übersetzt LCDAUTODIM/de&lt;br /&gt;
 Übersetzt LCDCMD/de&lt;br /&gt;
 Übersetzt LCDCONTRAST/de&lt;br /&gt;
 Übersetzt LCDDATA/de&lt;br /&gt;
 Übersetzt LEFT/de&lt;br /&gt;
 Übersetzt LEN/de&lt;br /&gt;
 Übersetzt LINE/de&lt;br /&gt;
 Übersetzt LINEINPUT/de&lt;br /&gt;
 ?? LINE INPUT/de&lt;br /&gt;
 Übersetzt LOAD/de&lt;br /&gt;
 Übersetzt LOADADR/de&lt;br /&gt;
 Übersetzt LOADLABEL/de&lt;br /&gt;
 Übersetzt LOADWORDADR/de&lt;br /&gt;
 Übersetzt LOC/de&lt;br /&gt;
 Übersetzt LOCAL/de&lt;br /&gt;
 Übersetzt LOCATE/de&lt;br /&gt;
 Übersetzt LOF/de&lt;br /&gt;
 Übersetzt LOG/de&lt;br /&gt;
 Übersetzt LOG10/de&lt;br /&gt;
 Übersetzt LOOKDOWN/de&lt;br /&gt;
 Übersetzt LOOKUP/de&lt;br /&gt;
 Übersetzt LOOKUPSTR/de&lt;br /&gt;
 Übersetzt LOW/de&lt;br /&gt;
 Übersetzt LOWERLINE/de&lt;br /&gt;
 Übersetzt LTRIM/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt MACRO/de&lt;br /&gt;
 Übersetzt MAKEBCD/de&lt;br /&gt;
 Übersetzt MAKEDEC/de&lt;br /&gt;
 Übersetzt MAKEINT/de&lt;br /&gt;
 MAKEMODBUS/de&lt;br /&gt;
 MAKETCP/de&lt;br /&gt;
 Übersetzt MAX/de&lt;br /&gt;
 MEMCOPY/de&lt;br /&gt;
 Übersetzt MID/de&lt;br /&gt;
 Übersetzt MIN/de&lt;br /&gt;
 MKDIR/de&lt;br /&gt;
 Übersetzt MOD/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt NBITS/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt ON INTERRUPT/de&lt;br /&gt;
 Übersetzt ON VALUE/de&lt;br /&gt;
 OPEN/de&lt;br /&gt;
 OUT/de&lt;br /&gt;
&lt;br /&gt;
 PEEK/de&lt;br /&gt;
 POKE/de&lt;br /&gt;
 POPALL/de&lt;br /&gt;
 POWER/de&lt;br /&gt;
 Übersetzt POWERDOWN/de&lt;br /&gt;
 Übersetzt POWERSAVE/de&lt;br /&gt;
 Übersetzt POWER MODE/de&lt;br /&gt;
 PRINT/de&lt;br /&gt;
 PRINTBIN/de&lt;br /&gt;
 PS2MOUSEXY/de&lt;br /&gt;
 PSET/de&lt;br /&gt;
 PULSEIN/de&lt;br /&gt;
 PULSEOUT/de&lt;br /&gt;
 PUSHALL/de&lt;br /&gt;
 PUT/de&lt;br /&gt;
&lt;br /&gt;
 QUOTE/de&lt;br /&gt;
 &lt;br /&gt;
 RAD2DEG/de&lt;br /&gt;
 RC5SEND/de&lt;br /&gt;
 RC5SENDEXT/de&lt;br /&gt;
 RC6SEND/de&lt;br /&gt;
 READ/de&lt;br /&gt;
 Übersetzt READEEPROM/de&lt;br /&gt;
 READHITAG/de&lt;br /&gt;
 READMAGCARD/de&lt;br /&gt;
 READSIG/de&lt;br /&gt;
 Übersetzt REM/de&lt;br /&gt;
 REPLACECHARS/de&lt;br /&gt;
 Übersetzt RESET/de&lt;br /&gt;
 Übersetzt RESTORE/de&lt;br /&gt;
 Übersetzt RETURN/de&lt;br /&gt;
 Übersetzt RIGHT/de&lt;br /&gt;
 RMDIR/de&lt;br /&gt;
 RND/de&lt;br /&gt;
 ROTATE/de&lt;br /&gt;
 Übersetzt ROUND/de&lt;br /&gt;
 RTRIM/de&lt;br /&gt;
 &lt;br /&gt;
 SECELAPSED/de&lt;br /&gt;
 SECOFDAY/de&lt;br /&gt;
 SEEK/de&lt;br /&gt;
 SELECT-CASE-END SELECT/de&lt;br /&gt;
 SENDSCAN/de&lt;br /&gt;
 SENDSCANKBD/de&lt;br /&gt;
 SERIN/de&lt;br /&gt;
 SEROUT/de&lt;br /&gt;
 Übersetzt SET/de&lt;br /&gt;
 SETFONT/de&lt;br /&gt;
 SETIPPROTOCOL/de&lt;br /&gt;
 SETREG/de&lt;br /&gt;
 SETTCP/de&lt;br /&gt;
 SETTCPREGS/de&lt;br /&gt;
 Übersetzt SGN/de&lt;br /&gt;
 SHIFT/de&lt;br /&gt;
 SHIFTCURSOR/de&lt;br /&gt;
 SHIFTIN/de&lt;br /&gt;
 SHIFTLCD/de&lt;br /&gt;
 SHIFTOUT/de&lt;br /&gt;
 SHOWPIC/de&lt;br /&gt;
 SHOWPICE/de&lt;br /&gt;
 Übersetzt SIN/de&lt;br /&gt;
 SINH/de&lt;br /&gt;
 SNTP/de&lt;br /&gt;
 SOCKETCLOSE/de&lt;br /&gt;
 SOCKETCONNECT/de&lt;br /&gt;
 SOCKETDISCONNECT/de&lt;br /&gt;
 SOCKETLISTEN/de&lt;br /&gt;
 SOCKETSTAT/de&lt;br /&gt;
 SONYSEND/de&lt;br /&gt;
 Übersetzt SORT/de&lt;br /&gt;
 Übersetzt SOUND/de&lt;br /&gt;
 Übersetzt SPACE/de&lt;br /&gt;
 Übersetzt SPC/de&lt;br /&gt;
 SPIIN/de&lt;br /&gt;
 SPIINIT/de&lt;br /&gt;
 SPIMOVE/de&lt;br /&gt;
 SPIOUT/de&lt;br /&gt;
 Übersetzt SPLIT/de&lt;br /&gt;
 Übersetzt SQR/de&lt;br /&gt;
 Übersetzt START/de&lt;br /&gt;
 STCHECK/de&lt;br /&gt;
 Übersetzt STOP/de&lt;br /&gt;
 Übersetzt STR/de&lt;br /&gt;
 STR2DIGITS/de&lt;br /&gt;
 Übersetzt STRING/de&lt;br /&gt;
 Übersetzt SUB/de&lt;br /&gt;
 SWAP/de&lt;br /&gt;
 SYSDAY/de&lt;br /&gt;
 SYSSEC/de&lt;br /&gt;
 SYSSECELAPSED/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt TAN/de&lt;br /&gt;
 TANH/de&lt;br /&gt;
 TCPCHECKSUM/de&lt;br /&gt;
 TCPREAD/de&lt;br /&gt;
 TCPREADHEADER/de&lt;br /&gt;
 TCPWRITE/de&lt;br /&gt;
 TCPWRITESTR/de&lt;br /&gt;
 Übersetzt THIRDLINE/de&lt;br /&gt;
 Übersetzt TIME$/de&lt;br /&gt;
 TIME/de&lt;br /&gt;
 Übersetzt TOGGLE/de&lt;br /&gt;
 TRIM/de&lt;br /&gt;
 &lt;br /&gt;
 UCASE/de&lt;br /&gt;
 UDPREAD/de&lt;br /&gt;
 UDPREADHEADER/de&lt;br /&gt;
 UDPWRITE/de&lt;br /&gt;
 UDPWRITESTR/de&lt;br /&gt;
 Übersetzt UPPERLINE/de&lt;br /&gt;
 Übersetzt VAL/de&lt;br /&gt;
 VARPTR/de&lt;br /&gt;
 VER/de&lt;br /&gt;
 VERSION/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt WAIT/de&lt;br /&gt;
 Übersetzt WAITKEY/de&lt;br /&gt;
 Übersetzt WAITMS/de&lt;br /&gt;
 Übersetzt WAITUS/de&lt;br /&gt;
 Übersetzt WHILE-WEND/de&lt;br /&gt;
 WRITE/de&lt;br /&gt;
 Übersetzt WRITEEEPROM/de&lt;br /&gt;
&lt;br /&gt;
 X10DETECT/de&lt;br /&gt;
 X10SEND/de&lt;br /&gt;
 XTEADECODE/de&lt;br /&gt;
 XTEAENCODE/de&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUTHEX/de</id>
		<title>INPUTHEX/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUTHEX/de"/>
				<updated>2013-03-26T23:42:21Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Allows hexadecimal input from the keyboard during program execution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUTHEX&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 76px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 482px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional string constant printed before the prompt character.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 76px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 482px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A numeric variable to accept the input value.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The INPUTHEX routine can be used when you have a RS-232 interface on your uP.&lt;br /&gt;
&lt;br /&gt;
The RS-232 interface can be connected to a serial communication port of your computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This way you can use a terminal emulator and the keyboard as input device.&lt;br /&gt;
&lt;br /&gt;
You can also use the build in terminal emulator.&lt;br /&gt;
&lt;br /&gt;
The input entered may be in lower or upper case (0-9 and A-F)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If var is a byte then the input can be maximum 2 characters long.&lt;br /&gt;
&lt;br /&gt;
If var is an integer/word then the input can be maximum 4 characters long.&lt;br /&gt;
&lt;br /&gt;
If var is a long then the input can be maximum 8 characters long.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In VB you can specify&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp;with INPUT so VB will recognize that a hexadecimal string is being used.&lt;br /&gt;
&lt;br /&gt;
BASCOM implements a new statement: INPUTHEX. This is only to save code as otherwise also code would be needed for decimal conversion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Hier kann eine Frage stehen &amp;quot; , V&lt;br /&gt;
Input B1 'Weglassen wenn keine Frage&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Eingabe von Integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Eingabe einer Hex-Zahl (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Eingabe Hex Byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Weitere Variablen &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'Echo unterdrücken&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Bitte Namen eingeben &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hallo &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'Ohne Echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUTHEX/de</id>
		<title>INPUTHEX/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUTHEX/de"/>
				<updated>2013-03-26T23:41:56Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Allows hexadecimal input from the keyboard during program execution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUTHEX&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 76px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 482px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional string constant printed before the prompt character.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 76px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 482px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A numeric variable to accept the input value.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The INPUTHEX routine can be used when you have a RS-232 interface on your uP.&lt;br /&gt;
&lt;br /&gt;
The RS-232 interface can be connected to a serial communication port of your computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This way you can use a terminal emulator and the keyboard as input device.&lt;br /&gt;
&lt;br /&gt;
You can also use the build in terminal emulator.&lt;br /&gt;
&lt;br /&gt;
The input entered may be in lower or upper case (0-9 and A-F)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If var is a byte then the input can be maximum 2 characters long.&lt;br /&gt;
&lt;br /&gt;
If var is an integer/word then the input can be maximum 4 characters long.&lt;br /&gt;
&lt;br /&gt;
If var is a long then the input can be maximum 8 characters long.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In VB you can specify&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp;with INPUT so VB will recognize that a hexadecimal string is being used.&lt;br /&gt;
&lt;br /&gt;
BASCOM implements a new statement: INPUTHEX. This is only to save code as otherwise also code would be needed for decimal conversion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Hier kann eine Frage stehen &amp;quot; , V&lt;br /&gt;
Input B1 'Weglassen wenn keine Frage&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Eingabe von Integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Eingabe einer Hex-Zahl (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Eingabe Hex Byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Weitere Variablen &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'Echo unterdrücken&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Bitte Namen eingeben &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hallo &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'Ohne Echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:40:44Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anzahl Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Der Compiler empfängt 1 Byte für eine Variable die als BYTE dimensioniert ist.&lt;br /&gt;
&lt;br /&gt;
Er empfängt 2 Bytes für WORD/INTEGER Variablen, 4 Bytes für eine LONG/SINGLE und 8 Bytes für eine DOUBLE-Variable.&lt;br /&gt;
&lt;br /&gt;
Wie bei allen BASCOM-Routinen wird das least significant Byte zuerst empfangen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Wenn ein Array angegeben wird dann wird ein Element empfangen.&lt;br /&gt;
&lt;br /&gt;
Mit einem optionalen Parameter kann man angeben wieviele Bytes empfangen werden sollen. Man muss ein Semikolon (;) verwenden um diesen Parameter anzugeben weil das Komma (,) benutzt wird um mehrere Variablen zu empfangen.&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Hier kann eine Frage stehen &amp;quot; , V&lt;br /&gt;
Input B1 'Weglassen wenn keine Frage&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Eingabe von Integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Eingabe einer Hex-Zahl (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Eingabe Hex Byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Weitere Variablen &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'Echo unterdrücken&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Bitte Namen eingeben &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hallo &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'Ohne Echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Number of Bytes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anzahl Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Der Compiler empfängt 1 Byte für eine Variable die als BYTE dimensioniert ist.&lt;br /&gt;
&lt;br /&gt;
Er empfängt 2 Bytes für WORD/INTEGER Variablen, 4 Bytes für eine LONG/SINGLE und 8 Bytes für eine DOUBLE-Variable.&lt;br /&gt;
&lt;br /&gt;
Wie bei allen BASCOM-Routinen wird das least significant Byte zuerst empfangen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Wenn ein Array angegeben wird dann wird ein Element empfangen.&lt;br /&gt;
&lt;br /&gt;
Mit einem optionalen Parameter kann man angeben wieviele Bytes empfangen werden sollen. Man muss ein Semikolon (;) verwenden um diesen Parameter anzugeben weil das Komma (,) benutzt wird um mehrere Variablen zu empfangen.&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:28:36Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:26:40Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-26T23:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Xmega-SPI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Beim Empfang über das SPI-Interface muss der SS-Pin aktiviert werden. Manche Chips benötigen active low, manche Chips benötigen active high. Dies ist anhängig vom Slave-Chip.&lt;br /&gt;
&lt;br /&gt;
Wenn man die SS=Auto Option benutzt dann wird der Level von SS automatisch geändert. SS wird auf Low geschaltet, Datenbytes werden empfangen und schließlich wird SS wieder high geschaltet.&lt;br /&gt;
&lt;br /&gt;
Datenempfang funktioniert durch Senden eines Datenbytes und Empfang der Daten, die herausgeschrieben werden (shifted out). Die Daten, die gesendet werden sind 0. Man kann das in der Library _inputspivar Routine ändern.&lt;br /&gt;
&lt;br /&gt;
Man kann nicht Konstanten senden wenn man INPUT mit SPI benutzt. Also wird INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
INPUT in Zusammenhang mit SPI wartet auch nicht auf Empfang. Es wartet auf die Anzahl Bytes die in die Variable passen. Siehe Beispiel unter [http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-25T23:24:25Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Difference with VB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Unterschied zu VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB kann man &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp; mit INPUT spezifizieren und VB erkennt daraus, dass ein hexadezimaler Wert benutzt wird. &lt;br /&gt;
&lt;br /&gt;
BASCOM hat den neuen Befehl INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
When receiving data from the SPI interface, you need to activate the SS pin. Some chips might need an active low, others might need an active high. This will depends on the slave chip.&lt;br /&gt;
&lt;br /&gt;
When you use the SS=AUTO option, the level of SS will be changed automatic. Thus SS is made low, then the data bytes are received, and finally , SS is made high again.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Receiving data works by sending a data byte and returning the data that is shifted out. The data that will be sent is a 0. You can alter this in the library, _inputspivar routine.&lt;br /&gt;
&lt;br /&gt;
You can not sent constants using the INPUT with SPI. So INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;is not supported.&lt;br /&gt;
&lt;br /&gt;
INPUT used with SPI will not wait for a return either. It will wait for the number of bytes that fits into the variable. See[http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx]&amp;amp;nbsp;for an example.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-25T23:21:57Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale String-Konstante, die vor dem Prompt-Zeichen geschrieben wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Variable zur Aufnahme des Input-Wertes oder Strings.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Kanalnummer, die eine geöffnete Datei identifiziert. Kann eine Konstante oder eine Variable sein.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die INPUT-Routine kann benutzt werden wenn man einen Mikrocontroller mit serieller Schnittstelle hat. &lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle kann (über einen RS-232 - TTL Konverter) mit der seriellen Schnittstelle eines PCs verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Weise kann man die Tastatur des PCs mit einem Terminalemulator-Programm für Eingaben benutzen.&lt;br /&gt;
&lt;br /&gt;
Man kann auch den in BASCOM integrierten Terminal-Emulator verwenden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Benutzung des AVR-DOS Datei-Systems kann man Variableninhalte aus einer geöffneten Datei lesen. Da die Variablenwerte im ASCII-Format gespeichert sind werden die Daten automatisch in das richtige Format umgewandelt.&lt;br /&gt;
&lt;br /&gt;
Wenn INPUT in Zusammenhang mit Dateien benutzt wird dann ist PROMPT nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Difference with VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB you can specify&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp;with INPUT so VB will recognize that a hexadecimal string is being used.&lt;br /&gt;
&lt;br /&gt;
BASCOM implements a new statement&amp;amp;nbsp;: INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
When receiving data from the SPI interface, you need to activate the SS pin. Some chips might need an active low, others might need an active high. This will depends on the slave chip.&lt;br /&gt;
&lt;br /&gt;
When you use the SS=AUTO option, the level of SS will be changed automatic. Thus SS is made low, then the data bytes are received, and finally , SS is made high again.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Receiving data works by sending a data byte and returning the data that is shifted out. The data that will be sent is a 0. You can alter this in the library, _inputspivar routine.&lt;br /&gt;
&lt;br /&gt;
You can not sent constants using the INPUT with SPI. So INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;is not supported.&lt;br /&gt;
&lt;br /&gt;
INPUT used with SPI will not wait for a return either. It will wait for the number of bytes that fits into the variable. See[http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx]&amp;amp;nbsp;for an example.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-25T21:29:16Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Funktion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur, einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional string constant printed before the prompt character.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A variable to accept the input value or a string.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A channel number, which identifies an opened file. This can be a hard coded constant or a variable.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The INPUT routine can be used when you have an RS-232 interface on your uP.&lt;br /&gt;
&lt;br /&gt;
The RS-232 interface can be connected to a serial communication port of your computer.&lt;br /&gt;
&lt;br /&gt;
This way you can use a terminal emulator and the keyboard as an input device.&lt;br /&gt;
&lt;br /&gt;
You can also use the built-in terminal emulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For usage with the AVR-DOS file system, you can read variables from an opened file. Since these variables are stored in ASCII format, the data is converted to the proper format automatically.&lt;br /&gt;
&lt;br /&gt;
When you use INPUT with a file, the prompt is not supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Difference with VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB you can specify&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp;with INPUT so VB will recognize that a hexadecimal string is being used.&lt;br /&gt;
&lt;br /&gt;
BASCOM implements a new statement&amp;amp;nbsp;: INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
When receiving data from the SPI interface, you need to activate the SS pin. Some chips might need an active low, others might need an active high. This will depends on the slave chip.&lt;br /&gt;
&lt;br /&gt;
When you use the SS=AUTO option, the level of SS will be changed automatic. Thus SS is made low, then the data bytes are received, and finally , SS is made high again.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Receiving data works by sending a data byte and returning the data that is shifted out. The data that will be sent is a 0. You can alter this in the library, _inputspivar routine.&lt;br /&gt;
&lt;br /&gt;
You can not sent constants using the INPUT with SPI. So INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;is not supported.&lt;br /&gt;
&lt;br /&gt;
INPUT used with SPI will not wait for a return either. It will wait for the number of bytes that fits into the variable. See[http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx]&amp;amp;nbsp;for an example.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/INPUT/de</id>
		<title>INPUT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/INPUT/de"/>
				<updated>2013-03-25T21:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Ermöglicht Eingaben von der Tastatur einer Datei oder über SPI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;[&amp;quot; prompt&amp;quot; ] , var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;INPUT&amp;lt;/span&amp;gt;&amp;amp;nbsp;#ch, var[ , varn ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prompt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional string constant printed before the prompt character.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var,varn&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A variable to accept the input value or a string.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;16%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Ch&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;86%&amp;quot; style=&amp;quot;width: 470px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A channel number, which identifies an opened file. This can be a hard coded constant or a variable.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The INPUT routine can be used when you have an RS-232 interface on your uP.&lt;br /&gt;
&lt;br /&gt;
The RS-232 interface can be connected to a serial communication port of your computer.&lt;br /&gt;
&lt;br /&gt;
This way you can use a terminal emulator and the keyboard as an input device.&lt;br /&gt;
&lt;br /&gt;
You can also use the built-in terminal emulator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For usage with the AVR-DOS file system, you can read variables from an opened file. Since these variables are stored in ASCII format, the data is converted to the proper format automatically.&lt;br /&gt;
&lt;br /&gt;
When you use INPUT with a file, the prompt is not supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Difference with VB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB you can specify&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;H&amp;lt;/span&amp;gt;&amp;amp;nbsp;with INPUT so VB will recognize that a hexadecimal string is being used.&lt;br /&gt;
&lt;br /&gt;
BASCOM implements a new statement&amp;amp;nbsp;: INPUTHEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
When receiving data from the SPI interface, you need to activate the SS pin. Some chips might need an active low, others might need an active high. This will depends on the slave chip.&lt;br /&gt;
&lt;br /&gt;
When you use the SS=AUTO option, the level of SS will be changed automatic. Thus SS is made low, then the data bytes are received, and finally , SS is made high again.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Receiving data works by sending a data byte and returning the data that is shifted out. The data that will be sent is a 0. You can alter this in the library, _inputspivar routine.&lt;br /&gt;
&lt;br /&gt;
You can not sent constants using the INPUT with SPI. So INPUT #10, &amp;quot;SPI&amp;quot;, var &amp;amp;nbsp;is not supported.&lt;br /&gt;
&lt;br /&gt;
INPUT used with SPI will not wait for a return either. It will wait for the number of bytes that fits into the variable. See[http://avrhelp.mcselec.com/config_spix.htm CONFIG SPIx]&amp;amp;nbsp;for an example.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Number of Bytes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The compiler will receive 1 byte for a variable which was dimensioned as a BYTE.&lt;br /&gt;
&lt;br /&gt;
It will receive 2 bytes for a WORD/INTEGER, 4 bytes for a LONG/SINGLE and 8 bytes for a DOUBLE.&lt;br /&gt;
&lt;br /&gt;
As with all routines in BASCOM, the least significant Byte will be received first.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If you specify an array, it will receive one element.&lt;br /&gt;
&lt;br /&gt;
With an optional parameter you can provide how many bytes must be received. You must use a semicolon (;) to specify this parameter. This because the comma (,) is used to receive multiple variables.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Sample&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Dim Tmparray(5) As Byte &amp;amp;nbsp;, Spi_send_byte As Byte , W as Word&lt;br /&gt;
&lt;br /&gt;
Input #12 , Spi_receive_byte&amp;amp;nbsp;; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' READ 1 byte&lt;br /&gt;
&lt;br /&gt;
Input #12 , Tmparray(1)&amp;amp;nbsp;; 1 , Tmparray(2)&amp;amp;nbsp;; B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ' read 1 byte and 'b' bytes starting at element 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[ECHO]]&amp;amp;nbsp;,&amp;amp;nbsp;[[WRITE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTBIN]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : input.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo: INPUT, INPUTHEX&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim V As Byte , B1 As Byte&lt;br /&gt;
Dim C As Integer , D As Byte&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Use this to ask a question &amp;quot; , V&lt;br /&gt;
Input B1 'leave out for no question&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter integer &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Inputhex &amp;quot;Enter hex number (4 bytes) &amp;quot; , C&lt;br /&gt;
Print C&lt;br /&gt;
Inputhex &amp;quot;Enter hex byte (2 bytes) &amp;quot; , D&lt;br /&gt;
Print D&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;More variables &amp;quot; , C , D&lt;br /&gt;
Print C ; &amp;quot; &amp;quot; ; D&lt;br /&gt;
 &lt;br /&gt;
Input C Noecho 'supress echo&lt;br /&gt;
 &lt;br /&gt;
Input &amp;quot;Enter your name &amp;quot; , S&lt;br /&gt;
Print &amp;quot;Hello &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
Input S Noecho 'without echo&lt;br /&gt;
Print S&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)</id>
		<title>STAND ?BERSETZUNG (tempor?r)</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)"/>
				<updated>2013-03-19T23:18:04Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAIN MENUE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  *Installation/de&lt;br /&gt;
 Übersetzt Installation of BASCOM/de&lt;br /&gt;
 Übersetzt Installation on multiple computers/de&lt;br /&gt;
 Übersetzt Move to new PC/de&lt;br /&gt;
 Übersetzt Updates/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM Language Fundamentals/de&lt;br /&gt;
 Übersetzt ASCII chart/de&lt;br /&gt;
 Übersetzt Assembler mnemonics/de&lt;br /&gt;
 Übersetzt Changes compared to BASCOM-8051/de&lt;br /&gt;
 Übersetzt Error Codes/de&lt;br /&gt;
 Übersetzt Keyword reference/de&lt;br /&gt;
 Übersetzt  Language Fundamentals/de&lt;br /&gt;
 Übersetzt Mixing ASM and BASIC/de&lt;br /&gt;
 Übersetzt Newbie problems/de&lt;br /&gt;
 No content?? Reserved Words/de&lt;br /&gt;
 Übersetzt Tips and tricks/de&lt;br /&gt;
&lt;br /&gt;
  *ASM Libraries and Add-Ons/de&lt;br /&gt;
 *AVR-DOS/de&lt;br /&gt;
 *BCCARD/de&lt;br /&gt;
 *CF Card/de&lt;br /&gt;
 *DATE TIME/de&lt;br /&gt;
 *Floating Point/de&lt;br /&gt;
 *I2C SLAVE/de&lt;br /&gt;
 *LCD/de&lt;br /&gt;
 *PS2-AT Mouse and Keyboard Emulation/de&lt;br /&gt;
 *SPI/de&lt;br /&gt;
 *USB/de&lt;br /&gt;
 EXTENDED I2C/de&lt;br /&gt;
 FM24C16/de&lt;br /&gt;
 FM24C64-256/de&lt;br /&gt;
 FM25C256/de&lt;br /&gt;
 HEXVAL lib/de&lt;br /&gt;
 I2C-TWI/de&lt;br /&gt;
 MCSBYTE/de&lt;br /&gt;
 MCSBYTEINT/de&lt;br /&gt;
 MODBUS Slave-Server/de&lt;br /&gt;
 TCPIP/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM HARDWARE/de&lt;br /&gt;
 *Chips/de&lt;br /&gt;
 *Reference Designs/de&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background-color: rgb(249, 249, 249); font-family: monospace, 'Courier New'; font-size: 11px; line-height: 1.3em;&amp;quot;&amp;gt;Übersetzt &amp;lt;/span&amp;gt;Adding XRAM to XMEGA using EBI/de&lt;br /&gt;
 Adding XRAM with External Memory Interface/de&lt;br /&gt;
 Additional Hardware/de&lt;br /&gt;
 Attaching an LCD Display/de&lt;br /&gt;
 AVR Internal Hardware Port B/de&lt;br /&gt;
 AVR Internal Hardware Port D/de&lt;br /&gt;
 AVR Internal Hardware TIMER0/de&lt;br /&gt;
 AVR Internal Hardware TIMER1/de&lt;br /&gt;
 AVR Internal Hardware Watchdog timer/de&lt;br /&gt;
 AVR Internal Hardware/de&lt;br /&gt;
 AVR Internal Registers/de&lt;br /&gt;
 Memory usage/de&lt;br /&gt;
 Power Up/de&lt;br /&gt;
 Using RS485/de&lt;br /&gt;
 Using the 1 WIRE protocol/de&lt;br /&gt;
 Using the I2C protocol/de&lt;br /&gt;
 Using the SPI protocol/de&lt;br /&gt;
 Übersetzt Using the UART/de&lt;br /&gt;
 Using USI (Universal Serial Interface)/de&lt;br /&gt;
&lt;br /&gt;
 *Tools/de&lt;br /&gt;
 LCD RGB-8 Converter/de&lt;br /&gt;
&lt;br /&gt;
 *BASCOM IDE/de&lt;br /&gt;
 *Options Compiler/de&lt;br /&gt;
 *Options Programmer/de&lt;br /&gt;
 *Plugins/de&lt;br /&gt;
 Übersetzt BASCOM Editor Keys/de&lt;br /&gt;
 Edit Copy/de&lt;br /&gt;
 Edit Cut/de&lt;br /&gt;
 Edit Encrypt Selected Code/de&lt;br /&gt;
 Edit Find Next/de&lt;br /&gt;
 Edit Find/de&lt;br /&gt;
 Edit Goto Bookmark/de&lt;br /&gt;
 Edit Goto/de&lt;br /&gt;
 Edit Indent Block/de&lt;br /&gt;
 Edit Paste/de&lt;br /&gt;
 Edit Redo/de&lt;br /&gt;
 Edit Remark Block/de&lt;br /&gt;
 Edit Replace/de&lt;br /&gt;
 Edit Toggle Bookmark/de&lt;br /&gt;
 Edit Undo/de&lt;br /&gt;
 Edit Unindent Block/de&lt;br /&gt;
 File Close/de&lt;br /&gt;
 File Exit/de&lt;br /&gt;
 File New/de&lt;br /&gt;
 File Open/de&lt;br /&gt;
 File Print Preview/de&lt;br /&gt;
 File Print/de&lt;br /&gt;
 File Project/de&lt;br /&gt;
 File Save As/de&lt;br /&gt;
 File Save/de&lt;br /&gt;
 Help About/de&lt;br /&gt;
 Help Credits/de&lt;br /&gt;
 Help Index/de&lt;br /&gt;
 Help Knowledge Base/de&lt;br /&gt;
 Help MCS Forum/de&lt;br /&gt;
 Help MCS Shop/de&lt;br /&gt;
 Help Support/de&lt;br /&gt;
 Help Update/de&lt;br /&gt;
 Options Communication/de&lt;br /&gt;
 Options Environment/de&lt;br /&gt;
 Options Monitor/de&lt;br /&gt;
 Options Printer/de&lt;br /&gt;
 Options Simulator/de&lt;br /&gt;
 Program Compile/de&lt;br /&gt;
 Program Development Order/de&lt;br /&gt;
 Program Send to Chip/de&lt;br /&gt;
 Program Show Result/de&lt;br /&gt;
 Program Simulate/de&lt;br /&gt;
 Program Syntax Check/de&lt;br /&gt;
 Running BASCOM-AVR/de&lt;br /&gt;
 Tools Batch Compile/de&lt;br /&gt;
 Tools Graphic Converter/de&lt;br /&gt;
 Tools LCD Designer/de&lt;br /&gt;
 Tools LIB Manager/de&lt;br /&gt;
 Tools PDF Update/de&lt;br /&gt;
 Tools Plugin Manager/de&lt;br /&gt;
 Tools Resource Editor/de&lt;br /&gt;
 Tools Stack Analyzer/de&lt;br /&gt;
 Tools Terminal Emulator/de&lt;br /&gt;
 View Code Explorer/de&lt;br /&gt;
 View Error Panel/de&lt;br /&gt;
 View PDF viewer/de&lt;br /&gt;
 View PinOut/de&lt;br /&gt;
 View Project Files/de&lt;br /&gt;
 View Tip/de&lt;br /&gt;
 Window Arrange Icons/de&lt;br /&gt;
 Window Cascade/de&lt;br /&gt;
 Window Minimize All/de&lt;br /&gt;
 Window Tile/de&lt;br /&gt;
 Windows Maximize All/de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 BASCOM-AVR Stichworte - DE Übersetzung&lt;br /&gt;
&lt;br /&gt;
 $AESKEY/de&lt;br /&gt;
 $ASM/de&lt;br /&gt;
 $BAUD/de&lt;br /&gt;
 $BAUD1/de&lt;br /&gt;
 $BGF/de&lt;br /&gt;
 $BIGSTRINGS/de&lt;br /&gt;
 $BOOT/de&lt;br /&gt;
 $CRYPT/de&lt;br /&gt;
 Übersetzt $CRYSTAL/de&lt;br /&gt;
 $DATA/de&lt;br /&gt;
 $DBG/de&lt;br /&gt;
 $DEFAULT/de&lt;br /&gt;
 Übersetzt $EEPLEAVE/de&lt;br /&gt;
 Übersetzt $EEPROM/de&lt;br /&gt;
 Übersetzt $EEPROMHEX/de&lt;br /&gt;
 $EEPROMSIZE/de&lt;br /&gt;
 $EXTERNAL/de&lt;br /&gt;
 $FILE/de&lt;br /&gt;
 $FRAMECHECK/de&lt;br /&gt;
 $FRAMEPROTECT/de&lt;br /&gt;
 $FRAMESIZE/de&lt;br /&gt;
 $HWCHECK/de&lt;br /&gt;
 $HWSTACK/de&lt;br /&gt;
 $INC/de&lt;br /&gt;
 $INCLUDE/de&lt;br /&gt;
 $INITMICRO/de&lt;br /&gt;
 Übersetzt $LCD/de&lt;br /&gt;
 $LCDPUTCTRL/de&lt;br /&gt;
 $LCDPUTDATA/de&lt;br /&gt;
 Übersetzt $LCDRS/de&lt;br /&gt;
 $LCDVFO/de&lt;br /&gt;
 $LIB/de&lt;br /&gt;
 $LOADER/de&lt;br /&gt;
 $LOADERSIZE/de&lt;br /&gt;
 $MAP/de&lt;br /&gt;
 $NOCOMPILE/de&lt;br /&gt;
 $NOFRAMEPROTECT/de&lt;br /&gt;
 $NOINIT/de&lt;br /&gt;
 $NORAMCLEAR/de&lt;br /&gt;
 $NORAMPZ/de&lt;br /&gt;
 $NOTRANSFORM/de&lt;br /&gt;
 $PROG/de&lt;br /&gt;
 $PROGRAMMER/de&lt;br /&gt;
 $PROJECTTIME/de&lt;br /&gt;
 $REGFILE/de&lt;br /&gt;
 $RESOURCE/de&lt;br /&gt;
 $ROMSTART/de&lt;br /&gt;
 $SERIALINPUT/de&lt;br /&gt;
 $SERIALINPUT1/de&lt;br /&gt;
 $SERIALINPUT2LCD/de&lt;br /&gt;
 $SERIALOUTPUT/de&lt;br /&gt;
 $SERIALOUTPUT1/de&lt;br /&gt;
 Übersetzt $SIM/de&lt;br /&gt;
 $SOFTCHECK/de&lt;br /&gt;
 $STACKDUMP/de&lt;br /&gt;
 $SWSTACK/de&lt;br /&gt;
 $TIMEOUT/de&lt;br /&gt;
 $TINY/de&lt;br /&gt;
 $VERSION/de&lt;br /&gt;
 $WAITSTATE/de&lt;br /&gt;
 $XA/de&lt;br /&gt;
 $XRAMSIZE/de&lt;br /&gt;
 $XRAMSTART/de&lt;br /&gt;
 $XTEAKEY/de&lt;br /&gt;
&lt;br /&gt;
 *AUTOCODE/de&lt;br /&gt;
 *IF ELSE ELSEIF ENDIF/de&lt;br /&gt;
&lt;br /&gt;
 1WIRECOUNT/de&lt;br /&gt;
 In Arbeit 1WREAD/de&lt;br /&gt;
 1WRESET/de&lt;br /&gt;
 1WSEARCHFIRST/de&lt;br /&gt;
 1WSEARCHNEXT/de&lt;br /&gt;
 1WVERIFY/de&lt;br /&gt;
 Übersetzt 1WWRITE/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt ABS/de&lt;br /&gt;
 ACOS/de&lt;br /&gt;
 Übersetzt ADR/de&lt;br /&gt;
 Übersetzt ADR2/de&lt;br /&gt;
 AESDECRYPT/de&lt;br /&gt;
 AESENCRYPT/de&lt;br /&gt;
 Übersetzt ALIAS/de&lt;br /&gt;
 Übersetzt ASC/de&lt;br /&gt;
 ASIN/de&lt;br /&gt;
 ATN/de&lt;br /&gt;
 ATN2/de&lt;br /&gt;
&lt;br /&gt;
 BASE64DEC/de&lt;br /&gt;
 BASE64ENC/de&lt;br /&gt;
 BAUD/de&lt;br /&gt;
 BAUD1/de&lt;br /&gt;
 Übersetzt BCD/de&lt;br /&gt;
 Übersetzt BIN/de&lt;br /&gt;
 BIN2GRAY/de&lt;br /&gt;
 Übersetzt BINVAL/de&lt;br /&gt;
 Übersetzt BITS/de&lt;br /&gt;
 Übersetzt BITWAIT/de&lt;br /&gt;
 BLOAD/de&lt;br /&gt;
 BOX/de&lt;br /&gt;
 BOXFILL/de&lt;br /&gt;
 BSAVE/de&lt;br /&gt;
 BUFSPACE/de&lt;br /&gt;
 BYVAL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt CALL/de&lt;br /&gt;
 CANBAUD/de&lt;br /&gt;
 CANCLEARALLMOBS/de&lt;br /&gt;
 CANCLEARMOB/de&lt;br /&gt;
 CANGETINTS/de&lt;br /&gt;
 CANID/de&lt;br /&gt;
 CANRECEIVE/de&lt;br /&gt;
 CANRESET/de&lt;br /&gt;
 CANSELPAGE/de&lt;br /&gt;
 CANSEND/de&lt;br /&gt;
 Übersetzt CHARPOS/de&lt;br /&gt;
 CHDIR/de&lt;br /&gt;
 CHECKFLOAT/de&lt;br /&gt;
 CHECKSUM/de&lt;br /&gt;
 CHECKSUMXOR/de&lt;br /&gt;
 Übersetzt CHR/de&lt;br /&gt;
 CIRCLE/de&lt;br /&gt;
 CLEAR/de&lt;br /&gt;
 CLOCKDIVISION/de&lt;br /&gt;
 CLOSE/de&lt;br /&gt;
 CLOSESOCKET/de&lt;br /&gt;
 Übersetzt CLS/de&lt;br /&gt;
 CONFIG/de&lt;br /&gt;
 CONFIG 1WIRE/de&lt;br /&gt;
 CONFIG ACI/de&lt;br /&gt;
 CONFIG ACXX/de&lt;br /&gt;
 CONFIG ADC/de&lt;br /&gt;
 CONFIG ADCX/de&lt;br /&gt;
 CONFIG ATEMU/de&lt;br /&gt;
 CONFIG BASE/de&lt;br /&gt;
 CONFIG BCCARD/de&lt;br /&gt;
 CONFIG CANBUS/de&lt;br /&gt;
 CONFIG CANMOB/de&lt;br /&gt;
 CONFIG CLOCK/de&lt;br /&gt;
 CONFIG CLOCKDIV/de&lt;br /&gt;
 CONFIG COM1/de&lt;br /&gt;
 CONFIG COM2/de&lt;br /&gt;
 CONFIG COMX/de&lt;br /&gt;
 CONFIG DACX/de&lt;br /&gt;
 Übersetzt CONFIG DATE/de&lt;br /&gt;
 CONFIG DCF77/de&lt;br /&gt;
 Übersetzt CONFIG DEBOUNCE/de&lt;br /&gt;
 CONFIG DMA/de&lt;br /&gt;
 CONFIG DMACHX/de&lt;br /&gt;
 CONFIG DMXSLAVE/de&lt;br /&gt;
 CONFIG DP/de&lt;br /&gt;
 CONFIG EEPROM/de&lt;br /&gt;
 CONFIG ERROR/de&lt;br /&gt;
 CONFIG EVENT SYSTEM/de&lt;br /&gt;
 CONFIG EXTENDED PORT/de&lt;br /&gt;
 CONFIG GRAPHLCD/de&lt;br /&gt;
 CONFIG HITAG/de&lt;br /&gt;
 CONFIG I2CDELAY/de&lt;br /&gt;
 CONFIG I2CSLAVE/de&lt;br /&gt;
 CONFIG INPUT/de&lt;br /&gt;
 CONFIG INTX/de&lt;br /&gt;
 CONFIG KBD/de&lt;br /&gt;
 CONFIG KEYBOARD/de&lt;br /&gt;
 Übersetzt CONFIG LCD/de&lt;br /&gt;
 CONFIG LCDBUS/de&lt;br /&gt;
 Übersetzt CONFIG LCDMODE/de&lt;br /&gt;
 Übersetzt CONFIG LCDPIN/de&lt;br /&gt;
 CONFIG OSC/de&lt;br /&gt;
 Übersetzt CONFIG PORT/de&lt;br /&gt;
 Übersetzt CONFIG POWERMODE/de&lt;br /&gt;
 CONFIG POWER REDUCTION/de&lt;br /&gt;
 CONFIG PRINT/de&lt;br /&gt;
 CONFIG PRINTBIN/de&lt;br /&gt;
 CONFIG PRIORITY/de&lt;br /&gt;
 CONFIG PS2EMU/de&lt;br /&gt;
 CONFIG RC5/de&lt;br /&gt;
 CONFIG SCL/de&lt;br /&gt;
 CONFIG SDA/de&lt;br /&gt;
 CONFIG SERIALIN/de&lt;br /&gt;
 CONFIG SERIALOUT/de&lt;br /&gt;
 CONFIG SERVOS/de&lt;br /&gt;
 CONFIG SHIFTIN/de&lt;br /&gt;
 CONFIG SINGLE/de&lt;br /&gt;
 CONFIG SPI/de&lt;br /&gt;
 CONFIG SPIX/de&lt;br /&gt;
 Übersetzt CONFIG SUBMODE/de&lt;br /&gt;
 CONFIG SYSCLOCK/de&lt;br /&gt;
 CONFIG TCPIP/de&lt;br /&gt;
 CONFIG TCXX/de&lt;br /&gt;
 CONFIG TIMER0/de&lt;br /&gt;
 CONFIG TIMER1/de&lt;br /&gt;
 CONFIG TIMER2/de&lt;br /&gt;
 CONFIG TWI/de&lt;br /&gt;
 CONFIG TWISLAVE/de&lt;br /&gt;
 CONFIG USB/de&lt;br /&gt;
 CONFIG VPORT/de&lt;br /&gt;
 CONFIG WAITSUART/de&lt;br /&gt;
 CONFIG WATCHDOG/de&lt;br /&gt;
 CONFIG X10/de&lt;br /&gt;
 CONFIG XPIN/de&lt;br /&gt;
 CONFIG XRAM/de&lt;br /&gt;
 Übersetzt CONST/de&lt;br /&gt;
 Übersetzt COS/de&lt;br /&gt;
 COSH/de&lt;br /&gt;
 COUNTER0/de&lt;br /&gt;
 COUNTER1/de&lt;br /&gt;
 CPEEK/de&lt;br /&gt;
 CPEEKH/de&lt;br /&gt;
 CRC16/de&lt;br /&gt;
 CRC16UNI/de&lt;br /&gt;
 CRC32/de&lt;br /&gt;
 CRC8/de&lt;br /&gt;
 CRYSTAL/de&lt;br /&gt;
 Übersetzt CURSOR/de&lt;br /&gt;
 &lt;br /&gt;
 DATA/de&lt;br /&gt;
 Übersetzt DATE$/de&lt;br /&gt;
 DATE/de&lt;br /&gt;
 Übersetzt DAYOFWEEK/de&lt;br /&gt;
 DAYOFYEAR/de&lt;br /&gt;
 DBG/de&lt;br /&gt;
 DCF77TIMEZONE/de&lt;br /&gt;
 Übersetzt DEBOUNCE/de&lt;br /&gt;
 DEBUG/de&lt;br /&gt;
 DECLARE FUNCTION/de&lt;br /&gt;
 Übersetzt DECLARE SUB/de&lt;br /&gt;
 Übersetzt DECR/de&lt;br /&gt;
 Übersetzt DEFLCDCHAR/de&lt;br /&gt;
 DEFXXX/de&lt;br /&gt;
 DEG2RAD/de&lt;br /&gt;
 Übersetzt DELAY/de&lt;br /&gt;
 Übersetzt DELCHAR/de&lt;br /&gt;
 Übersetzt DELCHARS/de&lt;br /&gt;
 DIM/de&lt;br /&gt;
 DIR/de&lt;br /&gt;
 Übersetzt DISABLE/de&lt;br /&gt;
 DISKFREE/de&lt;br /&gt;
 DISKSIZE/de&lt;br /&gt;
 DISPLAY/de&lt;br /&gt;
 Übersetzt DO-LOOP/de&lt;br /&gt;
 DTMFOUT/de&lt;br /&gt;
 DriveCheck/de&lt;br /&gt;
 DriveGetIdentity/de&lt;br /&gt;
 DriveInit/de&lt;br /&gt;
 DriveReadSector/de&lt;br /&gt;
 DriveReset/de&lt;br /&gt;
 DriveWriteSector/de&lt;br /&gt;
&lt;br /&gt;
 ECHO/de&lt;br /&gt;
 ELSE/de&lt;br /&gt;
 Übersetzt ENABLE/de&lt;br /&gt;
 ENCODER/de&lt;br /&gt;
 Übersetzt END/de&lt;br /&gt;
 EOF/de&lt;br /&gt;
 EXIT/de&lt;br /&gt;
 EXP/de&lt;br /&gt;
 &lt;br /&gt;
 FILEATTR/de&lt;br /&gt;
 FILEDATE/de&lt;br /&gt;
 FILEDATETIME/de&lt;br /&gt;
 FILELEN/de&lt;br /&gt;
 FILETIME/de&lt;br /&gt;
 Übersetzt FIX/de&lt;br /&gt;
 FLUSH/de&lt;br /&gt;
 Übersetzt FOR-NEXT/de&lt;br /&gt;
 FORMAT/de&lt;br /&gt;
 Übersetzt FOURTHLINE/de&lt;br /&gt;
 Übersetzt FRAC/de&lt;br /&gt;
 FREEFILE/de&lt;br /&gt;
 FUSING/de&lt;br /&gt;
&lt;br /&gt;
 GET/de&lt;br /&gt;
 GETADC/de&lt;br /&gt;
 GETATKBD/de&lt;br /&gt;
 GETATKBDRAW/de&lt;br /&gt;
 GETDSTIP/de&lt;br /&gt;
 GETDSTPORT/de&lt;br /&gt;
 GETKBD/de&lt;br /&gt;
 GETRC/de&lt;br /&gt;
 GETRC5/de&lt;br /&gt;
 GETREG/de&lt;br /&gt;
 GETSOCKET/de&lt;br /&gt;
 GETTCPREGS/de&lt;br /&gt;
 GLCDCMD/de&lt;br /&gt;
 GLCDDATA/de&lt;br /&gt;
 Übersetzt GOSUB/de&lt;br /&gt;
 Übersetzt GOTO/de&lt;br /&gt;
 GRAY2BIN/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt HEX/de&lt;br /&gt;
 Übersetzt HEXVAL/de&lt;br /&gt;
 Übersetzt HIGH/de&lt;br /&gt;
 Übersetzt HIGHW/de&lt;br /&gt;
 Übersetzt HOME/de&lt;br /&gt;
 &lt;br /&gt;
 I2CINIT/de&lt;br /&gt;
 I2CRBYTE/de&lt;br /&gt;
 I2CRECEIVE/de&lt;br /&gt;
 I2CREPSTART/de&lt;br /&gt;
 I2CSEND/de&lt;br /&gt;
 I2CSTART/de&lt;br /&gt;
 I2CSTOP/de&lt;br /&gt;
 I2CWBYTE/de&lt;br /&gt;
 Übersetzt IDLE/de&lt;br /&gt;
 Übersetzt IF-THEN-ELSE-END IF/de&lt;br /&gt;
 Übersetzt INCR/de&lt;br /&gt;
 INITFILESYSTEM/de&lt;br /&gt;
 Übersetzt INITLCD/de&lt;br /&gt;
 Übersetzt INKEY/de&lt;br /&gt;
 INP/de&lt;br /&gt;
 INPUT/de&lt;br /&gt;
 INPUTBIN/de&lt;br /&gt;
 INPUTHEX/de&lt;br /&gt;
 INSERTCHAR/de&lt;br /&gt;
 INSTR/de&lt;br /&gt;
 Übersetzt INT/de&lt;br /&gt;
 IP2STR/de&lt;br /&gt;
 Übersetzt ISCHARWAITING/de&lt;br /&gt;
&lt;br /&gt;
 KILL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt LCASE/de&lt;br /&gt;
 Übersetzt LCD/de&lt;br /&gt;
 Übersetzt LCDAT/de&lt;br /&gt;
 Übersetzt LCDAUTODIM/de&lt;br /&gt;
 Übersetzt LCDCMD/de&lt;br /&gt;
 Übersetzt LCDCONTRAST/de&lt;br /&gt;
 Übersetzt LCDDATA/de&lt;br /&gt;
 Übersetzt LEFT/de&lt;br /&gt;
 Übersetzt LEN/de&lt;br /&gt;
 Übersetzt LINE/de&lt;br /&gt;
 Übersetzt LINEINPUT/de&lt;br /&gt;
 ?? LINE INPUT/de&lt;br /&gt;
 Übersetzt LOAD/de&lt;br /&gt;
 Übersetzt LOADADR/de&lt;br /&gt;
 Übersetzt LOADLABEL/de&lt;br /&gt;
 Übersetzt LOADWORDADR/de&lt;br /&gt;
 Übersetzt LOC/de&lt;br /&gt;
 Übersetzt LOCAL/de&lt;br /&gt;
 Übersetzt LOCATE/de&lt;br /&gt;
 Übersetzt LOF/de&lt;br /&gt;
 Übersetzt LOG/de&lt;br /&gt;
 Übersetzt LOG10/de&lt;br /&gt;
 Übersetzt LOOKDOWN/de&lt;br /&gt;
 Übersetzt LOOKUP/de&lt;br /&gt;
 Übersetzt LOOKUPSTR/de&lt;br /&gt;
 Übersetzt LOW/de&lt;br /&gt;
 Übersetzt LOWERLINE/de&lt;br /&gt;
 Übersetzt LTRIM/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt MACRO/de&lt;br /&gt;
 Übersetzt MAKEBCD/de&lt;br /&gt;
 Übersetzt MAKEDEC/de&lt;br /&gt;
 Übersetzt MAKEINT/de&lt;br /&gt;
 MAKEMODBUS/de&lt;br /&gt;
 MAKETCP/de&lt;br /&gt;
 Übersetzt MAX/de&lt;br /&gt;
 MEMCOPY/de&lt;br /&gt;
 Übersetzt MID/de&lt;br /&gt;
 Übersetzt MIN/de&lt;br /&gt;
 MKDIR/de&lt;br /&gt;
 Übersetzt MOD/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt NBITS/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt ON INTERRUPT/de&lt;br /&gt;
 Übersetzt ON VALUE/de&lt;br /&gt;
 OPEN/de&lt;br /&gt;
 OUT/de&lt;br /&gt;
&lt;br /&gt;
 PEEK/de&lt;br /&gt;
 POKE/de&lt;br /&gt;
 POPALL/de&lt;br /&gt;
 POWER/de&lt;br /&gt;
 Übersetzt POWERDOWN/de&lt;br /&gt;
 Übersetzt POWERSAVE/de&lt;br /&gt;
 Übersetzt POWER MODE/de&lt;br /&gt;
 PRINT/de&lt;br /&gt;
 PRINTBIN/de&lt;br /&gt;
 PS2MOUSEXY/de&lt;br /&gt;
 PSET/de&lt;br /&gt;
 PULSEIN/de&lt;br /&gt;
 PULSEOUT/de&lt;br /&gt;
 PUSHALL/de&lt;br /&gt;
 PUT/de&lt;br /&gt;
&lt;br /&gt;
 QUOTE/de&lt;br /&gt;
 &lt;br /&gt;
 RAD2DEG/de&lt;br /&gt;
 RC5SEND/de&lt;br /&gt;
 RC5SENDEXT/de&lt;br /&gt;
 RC6SEND/de&lt;br /&gt;
 READ/de&lt;br /&gt;
 Übersetzt READEEPROM/de&lt;br /&gt;
 READHITAG/de&lt;br /&gt;
 READMAGCARD/de&lt;br /&gt;
 READSIG/de&lt;br /&gt;
 Übersetzt REM/de&lt;br /&gt;
 REPLACECHARS/de&lt;br /&gt;
 Übersetzt RESET/de&lt;br /&gt;
 Übersetzt RESTORE/de&lt;br /&gt;
 Übersetzt RETURN/de&lt;br /&gt;
 Übersetzt RIGHT/de&lt;br /&gt;
 RMDIR/de&lt;br /&gt;
 RND/de&lt;br /&gt;
 ROTATE/de&lt;br /&gt;
 Übersetzt ROUND/de&lt;br /&gt;
 RTRIM/de&lt;br /&gt;
 &lt;br /&gt;
 SECELAPSED/de&lt;br /&gt;
 SECOFDAY/de&lt;br /&gt;
 SEEK/de&lt;br /&gt;
 SELECT-CASE-END SELECT/de&lt;br /&gt;
 SENDSCAN/de&lt;br /&gt;
 SENDSCANKBD/de&lt;br /&gt;
 SERIN/de&lt;br /&gt;
 SEROUT/de&lt;br /&gt;
 Übersetzt SET/de&lt;br /&gt;
 SETFONT/de&lt;br /&gt;
 SETIPPROTOCOL/de&lt;br /&gt;
 SETREG/de&lt;br /&gt;
 SETTCP/de&lt;br /&gt;
 SETTCPREGS/de&lt;br /&gt;
 Übersetzt SGN/de&lt;br /&gt;
 SHIFT/de&lt;br /&gt;
 SHIFTCURSOR/de&lt;br /&gt;
 SHIFTIN/de&lt;br /&gt;
 SHIFTLCD/de&lt;br /&gt;
 SHIFTOUT/de&lt;br /&gt;
 SHOWPIC/de&lt;br /&gt;
 SHOWPICE/de&lt;br /&gt;
 Übersetzt SIN/de&lt;br /&gt;
 SINH/de&lt;br /&gt;
 SNTP/de&lt;br /&gt;
 SOCKETCLOSE/de&lt;br /&gt;
 SOCKETCONNECT/de&lt;br /&gt;
 SOCKETDISCONNECT/de&lt;br /&gt;
 SOCKETLISTEN/de&lt;br /&gt;
 SOCKETSTAT/de&lt;br /&gt;
 SONYSEND/de&lt;br /&gt;
 Übersetzt SORT/de&lt;br /&gt;
 Übersetzt SOUND/de&lt;br /&gt;
 Übersetzt SPACE/de&lt;br /&gt;
 Übersetzt SPC/de&lt;br /&gt;
 SPIIN/de&lt;br /&gt;
 SPIINIT/de&lt;br /&gt;
 SPIMOVE/de&lt;br /&gt;
 SPIOUT/de&lt;br /&gt;
 Übersetzt SPLIT/de&lt;br /&gt;
 Übersetzt SQR/de&lt;br /&gt;
 Übersetzt START/de&lt;br /&gt;
 STCHECK/de&lt;br /&gt;
 Übersetzt STOP/de&lt;br /&gt;
 Übersetzt STR/de&lt;br /&gt;
 STR2DIGITS/de&lt;br /&gt;
 Übersetzt STRING/de&lt;br /&gt;
 Übersetzt SUB/de&lt;br /&gt;
 SWAP/de&lt;br /&gt;
 SYSDAY/de&lt;br /&gt;
 SYSSEC/de&lt;br /&gt;
 SYSSECELAPSED/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt TAN/de&lt;br /&gt;
 TANH/de&lt;br /&gt;
 TCPCHECKSUM/de&lt;br /&gt;
 TCPREAD/de&lt;br /&gt;
 TCPREADHEADER/de&lt;br /&gt;
 TCPWRITE/de&lt;br /&gt;
 TCPWRITESTR/de&lt;br /&gt;
 Übersetzt THIRDLINE/de&lt;br /&gt;
 Übersetzt TIME$/de&lt;br /&gt;
 TIME/de&lt;br /&gt;
 Übersetzt TOGGLE/de&lt;br /&gt;
 TRIM/de&lt;br /&gt;
 &lt;br /&gt;
 UCASE/de&lt;br /&gt;
 UDPREAD/de&lt;br /&gt;
 UDPREADHEADER/de&lt;br /&gt;
 UDPWRITE/de&lt;br /&gt;
 UDPWRITESTR/de&lt;br /&gt;
 Übersetzt UPPERLINE/de&lt;br /&gt;
 Übersetzt VAL/de&lt;br /&gt;
 VARPTR/de&lt;br /&gt;
 VER/de&lt;br /&gt;
 VERSION/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt WAIT/de&lt;br /&gt;
 Übersetzt WAITKEY/de&lt;br /&gt;
 Übersetzt WAITMS/de&lt;br /&gt;
 Übersetzt WAITUS/de&lt;br /&gt;
 Übersetzt WHILE-WEND/de&lt;br /&gt;
 WRITE/de&lt;br /&gt;
 Übersetzt WRITEEEPROM/de&lt;br /&gt;
&lt;br /&gt;
 X10DETECT/de&lt;br /&gt;
 X10SEND/de&lt;br /&gt;
 XTEADECODE/de&lt;br /&gt;
 XTEAENCODE/de&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:14:48Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Assembler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Ziffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen aus der mcs.lib werden aufgerufen:&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel bei&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Ziffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen aus dermcs.lib werden aufgerufen:&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel bei&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:13:45Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Ziffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen aus dermcs.lib werden aufgerufen:&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
See the sample of&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:13:25Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* ASM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Ziffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen aus dermcs.lib werden aufgerufen:&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
See the sample of&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:12:01Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Anmerkungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Ziffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following asm routines are called from mcs.lib.&lt;br /&gt;
&lt;br /&gt;
When assigning TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
When reading TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
See the sample of&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:11:14Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die TIME$ Variable wird in Kombination mit CONFIG CLOCK und CONFIG DATE benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl für weitere Informationen. In der Interrupt Routine werden die _Sec, _Min und _Hour Variablen aktualisiert. Das Zeit-Format ist das 24-Stunden-Format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der TIME$ Variablen eine Konstante oder Variable zugewiesen wird dann werden die _sec, _Hour und _Min Variablen auf die neue Zeit gesetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist dass alle Zuffern bei der Zeitzuweisung gegeben werden müssen. Dadurch entsteht schlanker Code. Natürlich könnte man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Bitte nicht TIME$ mit der TIME Funktion verwechseln!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following asm routines are called from mcs.lib.&lt;br /&gt;
&lt;br /&gt;
When assigning TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
When reading TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
See the sample of&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/TIME$/de</id>
		<title>TIME$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/TIME$/de"/>
				<updated>2013-03-19T23:04:36Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Variable für die Uhrzeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;TIME$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The TIME$ variable is used in combination with the CONFIG CLOCK and CONFIG DATE directive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;statement for further information. In this interrupt routine the _Sec, _Min and _Hour variables are updated. The time format is 24 hours format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you assign TIME$ to a string variable these variables are assigned to the TIME$ variable.&lt;br /&gt;
&lt;br /&gt;
When you assign the TIME$ variable with a constant or other variable, the _sec, _Hour and _Min variables will be changed to the new time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only difference with VB is that all digits must be provided when assigning the time. This is done for minimal code. You can change this behavior of course.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]Do not confuse TIME$ with the TIME function&amp;amp;nbsp;!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following asm routines are called from mcs.lib.&lt;br /&gt;
&lt;br /&gt;
When assigning TIME$&amp;amp;nbsp;: _set_time (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
When reading TIME$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATE$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
See the sample of&amp;amp;nbsp;[http://avrhelp.mcselec.com/date_.htm DATE$]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATE$/de</id>
		<title>DATE$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATE$/de"/>
				<updated>2013-03-19T23:03:29Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Datums-Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;mm/dd/yy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die DATE$ Variable wird in Kombination mit &amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl erzeugt einen Interrupt der jede Sekunde auftritt. In dieser Interrupt-Routine werden die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Sec&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Min&amp;lt;/span&amp;gt; und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Hour&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen aktualisiert. Die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_dat&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_month&amp;lt;/span&amp;gt;&amp;amp;nbsp;und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_year&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen werden ebenfalls aktualisiert. Das Datumsformat ist dasselbe wie in VB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man der DATE$ Variablen eine Konstante oder eine andere Variable zuweist dann werden die _day, _month und _year Variablen auf das neue Datum gesetzt.&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist, dass alle Daten bei der Zuweisung des Datums gegeben werden müssen. Dafür benötigt man wenig Code. Natürlich kann man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]&amp;amp;nbsp;DATE$ sollte nicht mit der DATE-Funktion verwechselt werden!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen werden aufgerufen.&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu DATE$&amp;amp;nbsp;: _set_date (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von DATE$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[TIME$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = / ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATE$/de</id>
		<title>DATE$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATE$/de"/>
				<updated>2013-03-19T23:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Datums-Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;mm/dd/yy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die DATE$ Variable wird in Kombination mit &amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl erzeugt einen Interrupt der jede Sekunde auftritt. In dieser Interrupt-Routine werden die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Sec&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Min&amp;lt;/span&amp;gt; und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Hour&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen aktualisiert. Die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_dat&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_month&amp;lt;/span&amp;gt;&amp;amp;nbsp;und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_year&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen werden ebenfalls aktualisiert. Das Datumsformat ist dasselbe wie in VB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man der DATE$ Variablen eine Konstante oder eine andere Variable zuweist dann werden die _day, _month und _year Variablen auf das neue Datum gesetzt.&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist, dass alle Daten bei der Zuweisung des Datums gegeben werden müssen. Dafür benötigt man wenig Code. Natürlich kann man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]&amp;amp;nbsp;DATE$ sollte nicht mit der DATE-Funktion verwechselt werden!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen werden aufgerufen.&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu DATE$&amp;amp;nbsp;: _set_date (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von DATE$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[TIME$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = / ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATE$/de</id>
		<title>DATE$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATE$/de"/>
				<updated>2013-03-19T23:02:24Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* ASM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Datums-Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;mm/dd/yy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die DATE$ Variable wird in Kombination mit &amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl erzeugt einen Interrupt der jede Sekunde auftritt. In dieser Interrupt-Routine werden die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Sec&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Min&amp;lt;/span&amp;gt; und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Hour&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen aktualisiert. Die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_dat&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_month&amp;lt;/span&amp;gt;&amp;amp;nbsp;und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_year&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen werden ebenfalls aktualisiert. Das Datumsformat ist dasselbe wie in VB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man der DATE$ Variablen eine Konstante oder eine andere Variable zuweist dann werden die _day, _month und _year Variablen auf das neue Datum gesetzt.&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist, dass alle Daten bei der Zuweisung des Datums gegeben werden müssen. Dafür benötigt man wenig Code. Natürlich kann man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]&amp;amp;nbsp;DATE$ sollte nicht mit der DATE-Funktion verwechselt werden!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die folgenden Assembler-Routinen werden aufgerufen.&lt;br /&gt;
&lt;br /&gt;
Bei Zuweisung zu DATE$&amp;amp;nbsp;: _set_date (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
Beim Lesen von DATE$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[TIME$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = / ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATE$/de</id>
		<title>DATE$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATE$/de"/>
				<updated>2013-03-19T23:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Datums-Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;mm/dd/yy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Die DATE$ Variable wird in Kombination mit &amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;Befehl erzeugt einen Interrupt der jede Sekunde auftritt. In dieser Interrupt-Routine werden die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Sec&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Min&amp;lt;/span&amp;gt; und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Hour&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen aktualisiert. Die&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_dat&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_month&amp;lt;/span&amp;gt;&amp;amp;nbsp;und&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_year&amp;lt;/span&amp;gt;&amp;amp;nbsp;Variablen werden ebenfalls aktualisiert. Das Datumsformat ist dasselbe wie in VB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man der DATE$ Variablen eine Konstante oder eine andere Variable zuweist dann werden die _day, _month und _year Variablen auf das neue Datum gesetzt.&lt;br /&gt;
&lt;br /&gt;
Der einzige Unterschied zu VB ist, dass alle Daten bei der Zuweisung des Datums gegeben werden müssen. Dafür benötigt man wenig Code. Natürlich kann man dieses Verhalten ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]&amp;amp;nbsp;DATE$ sollte nicht mit der DATE-Funktion verwechselt werden!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following ASM routines are called.&lt;br /&gt;
&lt;br /&gt;
When assigning DATE$&amp;amp;nbsp;: _set_date (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
When reading DATE$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[TIME$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = / ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATE$/de</id>
		<title>DATE$/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATE$/de"/>
				<updated>2013-03-19T22:48:29Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Interne Datums-Variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&amp;amp;nbsp;= &amp;quot;mm/dd/yy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DATE$&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The DATE$ variable is used in combination with the&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;directive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;statement will create an interrupt that occurs every second. In this interrupt routine the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Sec&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Min&amp;lt;/span&amp;gt;and&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_Hour&amp;lt;/span&amp;gt;&amp;amp;nbsp;variables are updated. The&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_dat&amp;lt;/span&amp;gt;,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_month&amp;lt;/span&amp;gt;&amp;amp;nbsp;and&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;_year&amp;lt;/span&amp;gt;&amp;amp;nbsp;variables are also updated. The date format is in the same format as in VB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you assign DATE$ to a string variable these variables are assigned to the DATE$ variable.&lt;br /&gt;
&lt;br /&gt;
When you assign the DATE$ variable with a constant or other variable, the _day, _month and _year variables will be changed to the new date.&lt;br /&gt;
&lt;br /&gt;
The only difference with VB is that all data must be provided when assigning the date. This is done for minimal code. You can change this behavior of course.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Important.jpg|left|Important.jpg]]&amp;amp;nbsp;Do not confuse DATE$ with the DATE function&amp;amp;nbsp;!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following ASM routines are called.&lt;br /&gt;
&lt;br /&gt;
When assigning DATE$&amp;amp;nbsp;: _set_date (calls _str2byte)&lt;br /&gt;
&lt;br /&gt;
When reading DATE$&amp;amp;nbsp;: _make_dt (calls _byte2str)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[TIME$]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = / ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_DATE/de</id>
		<title>CONFIG DATE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_DATE/de"/>
				<updated>2013-03-19T22:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfiguriert das Format des Datums-Strings für Eingabe und Ausgabe bei BASCOM Datumsfunktionen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG DATE&amp;lt;/span&amp;gt;&amp;amp;nbsp;= DMY , Separator = char&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;488&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
DMY&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die Tag-Monat-Jahr-Reihenfolge. Benutzen Sie DMY, MDY oder YMD.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Char&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Das Zeichen, das als Trennzeichen zwischen Tag, Monat und Jahr benutzt werden soll.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alte Syntax&amp;amp;nbsp;: &amp;amp;nbsp;/ , - oder . (Punkt).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Bevorzugte neue Syntax&amp;amp;nbsp;: MINUS, SLASH oder DOT.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Config Date = DMY, SEPARATOR=MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgende Tabelle zeigt die gebräuchlichsten Datumsformate und die entsprechenden Befehle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 161px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Country&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 155px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Format&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 281px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Statement&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
American&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm/dd/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
ANSI&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy.mm.dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Britisch/French&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd/mm/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
German&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd.mm.yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Italian&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd-mm-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Japan/Taiwan&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy/mm/dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
USA&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm-dd-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Holland würde man folgendes nutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = DMY, separator = MINUS&lt;br /&gt;
&lt;br /&gt;
Das würde 24-04-02 für den 24. November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den USA würde man folgenden benutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = MDY , separator = SLASH&lt;br /&gt;
&lt;br /&gt;
Das würde  04/24/02 für den 24.November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG_CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATETIME|DATE TIME functions]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfWeek]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfYear]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecOfDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSec]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Time]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Date]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' Mikrocontroller&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = SLASH ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_DATE/de</id>
		<title>CONFIG DATE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_DATE/de"/>
				<updated>2013-03-19T22:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfiguriert das Format des Datums-Strings für Eingabe und Ausgabe bei BASCOM Datumsfunktionen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG DATE&amp;lt;/span&amp;gt;&amp;amp;nbsp;= DMY , Separator = char&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;488&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
DMY&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die Tag-Monat-Jahr-Reihenfolge. Benutzen Sie DMY, MDY oder YMD.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Char&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Das Zeichen, das als Trennzeichen zwischen Tag, Monat und Jahr benutzt werden soll.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alte Syntax&amp;amp;nbsp;: &amp;amp;nbsp;/ , - oder . (Punkt).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Bevorzugte neue Syntax&amp;amp;nbsp;: MINUS, SLASH oder DOT.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Config Date = DMY, SEPARATOR=MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgende Tabelle zeigt die gebräuchlichsten Datumsformate und die entsprechenden Befehle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 161px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Country&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 155px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Format&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 281px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Statement&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
American&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm/dd/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
ANSI&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy.mm.dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Britisch/French&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd/mm/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
German&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd.mm.yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Italian&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd-mm-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Japan/Taiwan&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy/mm/dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
USA&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm-dd-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Holland würde man folgendes nutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = DMY, separator = MINUS&lt;br /&gt;
&lt;br /&gt;
Das würde 24-04-02 für den 24. November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den USA würde man folgenden benutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = MDY , separator = SLASH&lt;br /&gt;
&lt;br /&gt;
Das würde  04/24/02 für den 24.November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG_CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATETIME|DATE TIME functions]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfWeek]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfYear]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecOfDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSec]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Time]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Date]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = SLASH ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_DATE/de</id>
		<title>CONFIG DATE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_DATE/de"/>
				<updated>2013-03-19T22:44:34Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfiguriert das Format des Datums-Strings für Eingabe und Ausgabe bei BASCOM Datumsfunktionen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG DATE&amp;lt;/span&amp;gt;&amp;amp;nbsp;= DMY , Separator = char&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;488&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
DMY&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die Tag-Monat-Jahr-Reihenfolge. Benutzen Sie DMY, MDY oder YMD.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Char&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Das Zeichen, das als Trennzeichen zwischen Tag, Monat und Jahr benutzt werden soll.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alte Syntax&amp;amp;nbsp;: &amp;amp;nbsp;/ , - oder . (Punkt).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Bevorzugte neue Syntax&amp;amp;nbsp;: MINUS, SLASH oder DOT.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Config Date = DMY, SEPARATOR=MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgende Tabelle zeigt die gebräuchlichsten Datumsformate und die entsprechenden Befehle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 161px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Country&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 155px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Format&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 281px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Statement&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
American&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm/dd/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
ANSI&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy.mm.dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Britisch/French&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd/mm/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
German&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd.mm.yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Italian&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd-mm-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Japan/Taiwan&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy/mm/dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
USA&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm-dd-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Holland würde man folgendes nutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = DMY, separator = MINUS&lt;br /&gt;
&lt;br /&gt;
Das würde 24-04-02 für den 24. November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den USA würde man folgenden benutzen&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = MDY , separator = SLASH&lt;br /&gt;
&lt;br /&gt;
Das würde  04/24/02 für den 24.November 2002 ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG_CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATETIME|DATE TIME functions]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfWeek]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfYear]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecOfDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSec]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Time]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Date]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = SLASH ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/CONFIG_DATE/de</id>
		<title>CONFIG DATE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/CONFIG_DATE/de"/>
				<updated>2013-03-19T22:35:51Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Konfiguriert das Format des Datums-Strings für Eingabe und Ausgabe bei BASCOM Datumsfunktionen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;CONFIG DATE&amp;lt;/span&amp;gt;&amp;amp;nbsp;= DMY , Separator = char&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;488&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
DMY&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The Day, month and year order. Use DMY, MDY or YMD.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 79px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Char&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 400px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The character used to separate the day, month and year.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old syntax&amp;amp;nbsp;: &amp;amp;nbsp;/ , - or . (dot).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Preferred new syntax&amp;amp;nbsp;: MINUS, SLASH or DOT.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Config Date = DMY, SEPARATOR=MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the common formats of date and the associated statements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 161px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Country&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 155px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Format&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 281px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Statement&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
American&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm/dd/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
ANSI&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy.mm.dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Britisch/French&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd/mm/yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
German&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd.mm.yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = DOT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Italian&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dd-mm-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = DMY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Japan/Taiwan&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
yy/mm/dd&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = YMD, Separator = SLASH&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
USA&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 155px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
mm-dd-yy&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;67%&amp;quot; style=&amp;quot;width: 281px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Config Date = MDY, Separator = MINUS&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you live in Holland you would use&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = DMY, separator = MINUS&lt;br /&gt;
&lt;br /&gt;
This would print 24-04-02 for 24 November 2002.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you line in the US, you would use&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE = MDY , separator = SLASH&lt;br /&gt;
&lt;br /&gt;
This would print 04/24/02 for 24 November 2002.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG_CLOCK|CONFIG CLOCK]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DATETIME|DATE TIME functions]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfWeek]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DayOfYear]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecOfDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysDay]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSec]]&amp;amp;nbsp;,&amp;amp;nbsp;[[SysSecElapsed]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Time]]&amp;amp;nbsp;,&amp;amp;nbsp;[[Date]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : megaclock.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : shows the new TIME$ and DATE$ reserved variables&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'With the 8535 and timer2 or the Mega103 and TIMER0 you can&lt;br /&gt;
'easily implement a clock by attaching a 32768 Hz xtal to the timer&lt;br /&gt;
'And of course some BASCOM code&lt;br /&gt;
 &lt;br /&gt;
'This example is written for the STK300 with M103&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'[configure LCD]&lt;br /&gt;
$lcd = &amp;amp;HC000 'address for E and RS&lt;br /&gt;
$lcdrs = &amp;amp;H8000 'address for only E&lt;br /&gt;
Config Lcd = 20 * 4 'nice display from bg micro&lt;br /&gt;
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7&lt;br /&gt;
Config Lcdmode = Bus 'tell about the bus mode&lt;br /&gt;
 &lt;br /&gt;
'[now init the clock]&lt;br /&gt;
Config Date = Mdy , Separator = SLASH ' ANSI-Format&lt;br /&gt;
 &lt;br /&gt;
Config Clock = Soft 'this is how simple it is&lt;br /&gt;
'The above statement will bind in an ISR so you can not use the TIMER anymore!&lt;br /&gt;
'For the M103 in this case it means that TIMER0 can not be used by the user anymore&lt;br /&gt;
 &lt;br /&gt;
'assign the date to the reserved date$&lt;br /&gt;
'The format is MM/DD/YY&lt;br /&gt;
Date$ = &amp;quot;11/11/00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'assign the time, format in hh:mm:ss military format(24 hours)&lt;br /&gt;
'You may not use 1:2:3 !! adding support for this would mean overhead&lt;br /&gt;
'But of course you can alter the library routines used&lt;br /&gt;
 &lt;br /&gt;
Time$ = &amp;quot;02:20:00&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'clear the LCD display&lt;br /&gt;
Cls&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Home 'cursor home&lt;br /&gt;
Lcd Date$ ; &amp;quot; &amp;quot; ; Time$ 'show the date and time&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'The clock routine does use the following internal variables:&lt;br /&gt;
'_day , _month, _year , _sec, _hour, _min&lt;br /&gt;
'These are all bytes. You can assign or use them directly&lt;br /&gt;
_day = 1&lt;br /&gt;
'For the _year variable only the year is stored, not the century&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DATETIME/de</id>
		<title>DATETIME/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DATETIME/de"/>
				<updated>2013-03-18T23:21:26Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die DateTime Library wurde erstellt von Josef Franz Vögel. Sie erweitert die Clock-Routinen um Datums- und Zeitberechnungen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden Funktonen sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[DAYOFWEEK|DayOfWeek]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt den Wochentag zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[DAYOFYEAR|DayOfYear]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt den Tag im Jahr zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[SECOFDAY|SecOfDay]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt die Tagessekunde zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[SECELAPSED|SecElapsed]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt die verstrichenen Sekunden seit einem vorher zugewiesenen Zeitstempel zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[SYSDAY|SysDay]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt den Systemtag zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[SYSSEC|SysSec]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt die Systemsekunde zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; height: 16px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[SYSSECELAPSED|SysSecElapsed]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; height: 16px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt die verstrichenen Sekunden seit einem Zeitstempel zurück&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[TIME|Time]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt einen Zeit-Wert zurück (String oder 3 Byte für Sekunde, Minute und Stunde) in Abhängigkeit des Zieldatentyps&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;125&amp;quot; style=&amp;quot;width: 125px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[DATE|Date]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;835&amp;quot; style=&amp;quot;width: 835px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Gibt einen Datums-Wert zurück (String oder 3 Bytes für Tag, Monat und Jahr) abhängig vom Zieldatentyp.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|notice]]&amp;amp;nbsp;Date und time sollten nicht verwechselt werden mit Date$ und Time$&amp;amp;nbsp;!&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG CLOCK|config clock]],&amp;amp;nbsp;[[CONFIG DATE|config date]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:DATE_TIME/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DAYOFWEEK/de</id>
		<title>DAYOFWEEK/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DAYOFWEEK/de"/>
				<updated>2013-03-18T23:05:10Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Gibt den Wochentag für ein Datum zurück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;()&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(bDayMonthYear)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(strDate)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(wSysDay)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(lSysSec)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Target&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable der die Nummer des Wochentags zugewiesen wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
BDayMonthYear&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable, die den Tag enthält - gefolgt vom Monat (Byte) und Jahr (Byte)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
StrDate&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
String der das Datum als Zeichenkette enthält im Format wie im CONFIG DATE Befehl beschreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
WSysDay&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wordvariable die den Systemtag (SysDay) enthält.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LSysSec&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Longvariable die die Systemsekunde (SysSec) enthält.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion kann mit fünf verschiedenen Arten von Input benutzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ohne Parameter. Die internen Werte der SOFTCLOCK (_day, _month, _year) werden benutzt.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem benutzerdefinierten Array. Dieses muss in derselben Art angeordnet sein (Day, Month, Year) wie das interne SOFTCLOCK-Datum. Das erste Byte (Day) ist der Eingabewert bei dieser Art der Benutzung. Auf diese Weise kann der Wochentag für jedes Daum berechnet werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem Datums-String. Der Datums-String muss im selben Format wie im CONFIG DATE Befehl angegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemtag-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemsekunden-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rückgabewert ist im Bereich 0 bis 6 wobei dem Montag eine 0 entspricht. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion funktioniert im 21. Jahrhundert(von 1.1.2000 bis 31.12.2099).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATETIME|Date and Time routines]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]],&amp;amp;nbsp;[[SYSDAY]],&amp;amp;nbsp;[[SYSSEC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : datetime_test1.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show how to use the Date-Time routines from the DateTime.Lib&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : no&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' Mikrocontroller&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Const Clockmode = 1&lt;br /&gt;
'use i2c for the clock&lt;br /&gt;
 &lt;br /&gt;
#if Clockmode = 1&lt;br /&gt;
Config Clock = Soft ' Interne Softclock benutzen&lt;br /&gt;
Disable Interrupts&lt;br /&gt;
#else&lt;br /&gt;
Config Clock = User ' I2C Clock benutzen&lt;br /&gt;
'scl und sda Pins definieren&lt;br /&gt;
Config Sda = Portd.6&lt;br /&gt;
Config Scl = Portd.5&lt;br /&gt;
 &lt;br /&gt;
'Addresse des ds1307&lt;br /&gt;
Const Ds1307w = &amp;amp;HD0 ' Addressen der Ds1307 Clock&lt;br /&gt;
Const Ds1307r = &amp;amp;HD1&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'DAtumsformat konfigurieren&lt;br /&gt;
Config Date = Ymd , Separator = - ' ANSI-Format&lt;br /&gt;
'Dieses Beispiel startet die Clock nicht. Die Interrupts werden nicht enabled&lt;br /&gt;
' Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'VAriablen dimensionieren&lt;br /&gt;
Dim Lvar1 As Long&lt;br /&gt;
Dim Mday As Byte&lt;br /&gt;
Dim Bweekday As Byte , Strweekday As String * 10&lt;br /&gt;
Dim Strdate As String * 8&lt;br /&gt;
Dim Strtime As String * 8&lt;br /&gt;
Dim Bsec As Byte , Bmin As Byte , Bhour As Byte&lt;br /&gt;
Dim Bday As Byte , Bmonth As Byte , Byear As Byte&lt;br /&gt;
Dim Lsecofday As Long&lt;br /&gt;
Dim Wsysday As Word&lt;br /&gt;
Dim Lsyssec As Long&lt;br /&gt;
Dim Wdayofyear As Word&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== DayOfWeek =============================================&lt;br /&gt;
' Beispiel 1 mit interner RTC-Clock&lt;br /&gt;
 &lt;br /&gt;
_day = 4 : _month = 11 : _year = 2 ' Beispielwerte zuweisen&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Wochentag von &amp;quot; ; Date$ ; &amp;quot; ist &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2 mit benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 26 : Bmonth = 11 : Byear = 2&lt;br /&gt;
Bweekday = Dayofweek(bday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Wochentag von Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; ist &amp;quot; ; Bweekday ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3 mit Systemtag&lt;br /&gt;
Wsysday = 2000 ' das ist der 23.6.2005&lt;br /&gt;
Bweekday = Dayofweek(wsysday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Wochentag von Systemtag &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) ist &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4 mit Systemsekunde&lt;br /&gt;
Lsyssec = 123456789 ' das ist 29.11.2003 um 21:33:09&lt;br /&gt;
Bweekday = Dayofweek(lsyssec)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Wochentag von Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) ist &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 5 mit Datums-String&lt;br /&gt;
Strdate = &amp;quot;04-11-02&amp;quot; ' wir haben das Datum im ANSI-Format definiert&lt;br /&gt;
Bweekday = Dayofweek(strdate)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Wochentag von&amp;quot; ; Strdate ; &amp;quot; ist &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================= Second of Day =============================================&lt;br /&gt;
' Beispiel 1 mit interner RTC-Clock&lt;br /&gt;
_sec = 12 : _min = 30 : _hour = 18 ' Interne Clockwerte zuweisen&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Print &amp;quot;Sekunde des Tages von &amp;quot; ; Time$ ; &amp;quot; ist &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2 mit benutzerdefinierter Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Lsecofday = Secofday(bsec)&lt;br /&gt;
Print &amp;quot;Second of Day von Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(bsec) ; &amp;quot;) ist &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3 mit Systemsekunde&lt;br /&gt;
Lsyssec = 1234456789&lt;br /&gt;
Lsecofday = Secofday(lsyssec)&lt;br /&gt;
Print &amp;quot;Second of Day von Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot;(&amp;quot; ; Time(lsyssec) ; &amp;quot;) ist &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4 mit Zeit-String&lt;br /&gt;
Strtime = &amp;quot;04:58:37&amp;quot;&lt;br /&gt;
Lsecofday = Secofday(strtime)&lt;br /&gt;
Print &amp;quot;Second of Day von &amp;quot; ; Strtime ; &amp;quot; ist &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================== System Second ============================================&lt;br /&gt;
 &lt;br /&gt;
' Beispiel 1 mit interner RTC-Clock&lt;br /&gt;
 ' Testwerte zuweisen&lt;br /&gt;
_sec = 17 : _min = 35 : _hour = 8 : _day = 16 : _month = 4 : _year = 3&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Print &amp;quot;Systemsekunde von &amp;quot; ; Time$ ; &amp;quot; at &amp;quot; ; Date$ ; &amp;quot; ist &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2 wmit benutzerdefinierten Clock-Bytes (Second, Minute, Hour, Day / Month / Year)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7 : Bday = 22 : Bmonth = 12 : Byear = 1&lt;br /&gt;
Lsyssec = Syssec(bsec)&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Systemsekunde von&amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; ist &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3 mit Systemtag&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Lsyssec = Syssec(wsysday)&lt;br /&gt;
Print &amp;quot;Systemsekunde von System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot; 00:00:00) ist &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4 mit Time- und Date-String&lt;br /&gt;
Strtime = &amp;quot;10:23:50&amp;quot;&lt;br /&gt;
Strdate = &amp;quot;02-11-29&amp;quot; ' ANSI-Datum&lt;br /&gt;
Lsyssec = Syssec(strtime , Strdate)&lt;br /&gt;
Print &amp;quot;System Second von &amp;quot; ; Strtime ; &amp;quot; am &amp;quot; ; Strdate ; &amp;quot; ist &amp;quot; ; Lsyssec ' 91880630&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ==================== Day Of Year =========================================&lt;br /&gt;
' Beispiel 1 mit interner RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Testwerte zuweisen&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2 mit benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wdayofyear = Dayofyear(bday)&lt;br /&gt;
Print &amp;quot;Day Of Year von Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) ist &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3 mit Datums-String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot; ' ANSI-Format&lt;br /&gt;
Wdayofyear = Dayofyear(strdate)&lt;br /&gt;
Print &amp;quot;Day Of Year von &amp;quot; ; Strdate ; &amp;quot; ist &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4 mit Systemsekunde&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wdayofyear = Dayofyear(lsyssec)&lt;br /&gt;
Print &amp;quot;Day Of Year von Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) ist &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 5 mit System Day (Systemtag)&lt;br /&gt;
Wsysday = 3000&lt;br /&gt;
Wdayofyear = Dayofyear(wsysday)&lt;br /&gt;
Print &amp;quot;Day Of Year von Systemtag &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) ist &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== System Day ======================================&lt;br /&gt;
' Beispiel 1 mit internaer RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Testwerte zuweisen&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2 mit benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wsysday = Sysday(bday)&lt;br /&gt;
Print &amp;quot;System Day von Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) ist &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3 mit Date-String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot;&lt;br /&gt;
Wsysday = Sysday(strdate)&lt;br /&gt;
Print &amp;quot;System Day von &amp;quot; ; Strdate ; &amp;quot; ist &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4 mit Systemsekunde&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wsysday = Sysday(lsyssec)&lt;br /&gt;
Print &amp;quot;System Day von Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) ist &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== Time ================================================&lt;br /&gt;
' Beispiel 1: Umwandlung benutzerdefinierter Clock-Bytes (Second / Minute / Hour) zu Time-String&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Print &amp;quot;Time values: Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; umgewandelt zu String &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2: Umwandlung Systemsekunde zu Time-String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strtime = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;Time of Systemsecond &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3: Umwandlung Second of Day zu Time-String&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Strtime = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Time von Second of Day &amp;quot; ; Lsecofday ; &amp;quot; ist &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4: Umwandlung System Second zu benutzerdefinierten Clock-Bytes (Second / Minute / Hour)&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bsec = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; umgewandelt zu Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 5: Umwandlung Second of Day zu benutzerdefinierten Clock-Bytes (Second / Minute / Hour)&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Bsec = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Second of Day &amp;quot; ; Lsecofday ; &amp;quot; umgewandelt zu Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsecofday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
' Beispiel 6: Umwandlung Time-string zu benutzerdefinierten Clock-Bytes (Second / Minute / Hour)&lt;br /&gt;
Strtime = &amp;quot;07:33:12&amp;quot;&lt;br /&gt;
Bsec = Time(strtime)&lt;br /&gt;
Print &amp;quot;Time &amp;quot; ; Strtime ; &amp;quot; umgewandelt zu Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ============================= Date ==========================================&lt;br /&gt;
 &lt;br /&gt;
' Beispiel 1: Umwandlung benutzerdefinierter Clock-Bytes (Day / Month / Year) zu Date-String&lt;br /&gt;
Bday = 29 : Bmonth = 4 : Byear = 12&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Datumswerte: Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; umgewandelt zu String &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 2: Umwandlung von Systemtag zu Dat- String&lt;br /&gt;
Wsysday = 1234&lt;br /&gt;
Strdate = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; ist &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 3: Umwandlung von Systemsekunde zu Date-String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strdate = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot; ist &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 4: Umwandlung SystemDay zu benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Bday = Date(wsysday)&lt;br /&gt;
Print &amp;quot;Systemtag &amp;quot; ; Wsysday ; &amp;quot; umgewandelt zu Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 5: Umwandlung Date-String zu benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
Strdate = &amp;quot;04-08-31&amp;quot;&lt;br /&gt;
Bday = Date(strdate)&lt;br /&gt;
Print &amp;quot;Datum &amp;quot; ; Strdate ; &amp;quot; umgewandelt zu Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Beispiel 6: Umwandlung Systemsekunde zu benutzerdefinierten Clock-Bytes (Day / Month / Year)&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bday = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;Systemsekunde &amp;quot; ; Lsyssec ; &amp;quot; umgewandelt zu Tag=&amp;quot; ; Bday ; &amp;quot; Monat=&amp;quot; ; Bmonth ; &amp;quot; Jahr=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================ Second of Day elapsed&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
Lvar1 = Secelapsed(lsecofday)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
_day = _day + 1&lt;br /&gt;
Lvar1 = Syssecelapsed(lsyssec)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Looptest:&lt;br /&gt;
 &lt;br /&gt;
' Testwerte&lt;br /&gt;
_day = 1&lt;br /&gt;
_month = 1&lt;br /&gt;
_year = 1&lt;br /&gt;
_sec = 12&lt;br /&gt;
_min = 13&lt;br /&gt;
_hour = 14&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
If _year &amp;gt; 50 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_sec = _sec + 7&lt;br /&gt;
If _sec &amp;gt; 59 Then&lt;br /&gt;
 Incr _min&lt;br /&gt;
 _sec = _sec - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_min = _min + 2&lt;br /&gt;
If _min &amp;gt; 59 Then&lt;br /&gt;
 Incr _hour&lt;br /&gt;
 _min = _min - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
If _hour &amp;gt; 23 Then&lt;br /&gt;
 Incr _day&lt;br /&gt;
 _hour = _hour - 24&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_day = _day + 1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
If _day &amp;gt; 28 Then&lt;br /&gt;
 Select Case _month&lt;br /&gt;
 Case 1&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 2&lt;br /&gt;
 Mday = _year And &amp;amp;H03&lt;br /&gt;
 If Mday = 0 Then&lt;br /&gt;
 Mday = 29&lt;br /&gt;
 Else&lt;br /&gt;
 Mday = 28&lt;br /&gt;
 End If&lt;br /&gt;
 Case 3&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 4&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 5&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 6&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 7&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 8&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 9&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 10&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 11&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 12&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 End Select&lt;br /&gt;
 If _day &amp;gt; Mday Then&lt;br /&gt;
 _day = _day - Mday&lt;br /&gt;
 Incr _month&lt;br /&gt;
 If _month &amp;gt; 12 Then&lt;br /&gt;
 _month = 1&lt;br /&gt;
 Incr _year&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
If _year &amp;gt; 99 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print Time$ ; &amp;quot; &amp;quot; ; Date$ ; &amp;quot; &amp;quot; ; Lsecofday ; &amp;quot; &amp;quot; ; Lsyssec ; &amp;quot; &amp;quot; ; Bweekday ; &amp;quot; &amp;quot; ; Wdayofyear ; &amp;quot; &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'only when we use I2C for the clock we need to set the clock date time&lt;br /&gt;
#if Clockmode = 0&lt;br /&gt;
'called from datetime.lib&lt;br /&gt;
Dim Weekday As Byte&lt;br /&gt;
Getdatetime:&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' start address in 1307&lt;br /&gt;
 &lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307r ' send address&lt;br /&gt;
I2crbyte _sec , Ack&lt;br /&gt;
I2crbyte _min , Ack ' MINUTES&lt;br /&gt;
I2crbyte _hour , Ack ' Hours&lt;br /&gt;
I2crbyte Weekday , Ack ' Day of Week&lt;br /&gt;
I2crbyte _day , Ack ' Day of Month&lt;br /&gt;
I2crbyte _month , Ack ' Month of Year&lt;br /&gt;
I2crbyte _year , Nack ' Year&lt;br /&gt;
I2cstop&lt;br /&gt;
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)&lt;br /&gt;
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Setdate:&lt;br /&gt;
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 4 ' starting address in 1307&lt;br /&gt;
I2cwbyte _day ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _month ' MINUTES&lt;br /&gt;
I2cwbyte _year ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Settime:&lt;br /&gt;
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' starting address in 1307&lt;br /&gt;
I2cwbyte _sec ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _min ' MINUTES&lt;br /&gt;
I2cwbyte _hour ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Weekdays:&lt;br /&gt;
Data &amp;quot;Montag&amp;quot; , &amp;quot;Dienstag&amp;quot; , &amp;quot;Mittwoch&amp;quot; , &amp;quot;Donnerstag&amp;quot; , &amp;quot;Freitag&amp;quot; , &amp;quot;Sonnabend&amp;quot; , &amp;quot;Sonntag&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DAYOFWEEK/de</id>
		<title>DAYOFWEEK/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DAYOFWEEK/de"/>
				<updated>2013-03-18T22:16:22Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Gibt den Wochentag für ein Datum zurück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;()&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(bDayMonthYear)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(strDate)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(wSysDay)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(lSysSec)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Target&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable der die Nummer des Wochentags zugewiesen wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
BDayMonthYear&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable, die den Tag enthält - gefolgt vom Monat (Byte) und Jahr (Byte)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
StrDate&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
String der das Datum als Zeichenkette enthält im Format wie im CONFIG DATE Befehl beschreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
WSysDay&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wordvariable die den Systemtag (SysDay) enthält.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LSysSec&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Longvariable die die Systemsekunde (SysSec) enthält.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion kann mit fünf verschiedenen Arten von Input benutzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ohne Parameter. Die internen Werte der SOFTCLOCK (_day, _month, _year) werden benutzt.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem benutzerdefinierten Array. Dieses muss in derselben Art angeordnet sein (Day, Month, Year) wie das interne SOFTCLOCK-Datum. Das erste Byte (Day) ist der Eingabewert bei dieser Art der Benutzung. Auf diese Weise kann der Wochentag für jedes Daum berechnet werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem Datums-String. Der Datums-String muss im selben Format wie im CONFIG DATE Befehl angegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemtag-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemsekunden-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rückgabewert ist im Bereich 0 bis 6 wobei dem Montag eine 0 entspricht. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion funktioniert im 21. Jahrhundert(von 1.1.2000 bis 31.12.2099).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATETIME|Date and Time routines]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]],&amp;amp;nbsp;[[SYSDAY]],&amp;amp;nbsp;[[SYSSEC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : datetime_test1,bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show how to use the Date-Time routines from the DateTime.Lib&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : no&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Const Clockmode = 1&lt;br /&gt;
'use i2c for the clock&lt;br /&gt;
 &lt;br /&gt;
#if Clockmode = 1&lt;br /&gt;
Config Clock = Soft ' we use build in clock&lt;br /&gt;
Disable Interrupts&lt;br /&gt;
#else&lt;br /&gt;
Config Clock = User ' we use I2C for the clock&lt;br /&gt;
'configure the scl and sda pins&lt;br /&gt;
Config Sda = Portd.6&lt;br /&gt;
Config Scl = Portd.5&lt;br /&gt;
 &lt;br /&gt;
'address of ds1307&lt;br /&gt;
Const Ds1307w = &amp;amp;HD0 ' Addresses of Ds1307 clock&lt;br /&gt;
Const Ds1307r = &amp;amp;HD1&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'configure the date format&lt;br /&gt;
Config Date = Ymd , Separator = - ' ANSI-Format&lt;br /&gt;
'This sample does not have the clock started so interrupts are not enabled&lt;br /&gt;
' Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'dim the used variables&lt;br /&gt;
Dim Lvar1 As Long&lt;br /&gt;
Dim Mday As Byte&lt;br /&gt;
Dim Bweekday As Byte , Strweekday As String * 10&lt;br /&gt;
Dim Strdate As String * 8&lt;br /&gt;
Dim Strtime As String * 8&lt;br /&gt;
Dim Bsec As Byte , Bmin As Byte , Bhour As Byte&lt;br /&gt;
Dim Bday As Byte , Bmonth As Byte , Byear As Byte&lt;br /&gt;
Dim Lsecofday As Long&lt;br /&gt;
Dim Wsysday As Word&lt;br /&gt;
Dim Lsyssec As Long&lt;br /&gt;
Dim Wdayofyear As Word&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== DayOfWeek =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 &lt;br /&gt;
_day = 4 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 26 : Bmonth = 11 : Byear = 2&lt;br /&gt;
Bweekday = Dayofweek(bday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Weekday-Number of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
Wsysday = 2000 ' that is 2005-06-23&lt;br /&gt;
Bweekday = Dayofweek(wsysday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789 ' that is 2003-11-29 at 21:33:09&lt;br /&gt;
Bweekday = Dayofweek(lsyssec)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with Date-String&lt;br /&gt;
Strdate = &amp;quot;04-11-02&amp;quot; ' we have configured Date in ANSI&lt;br /&gt;
Bweekday = Dayofweek(strdate)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================= Second of Day =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_sec = 12 : _min = 30 : _hour = 18 ' Load RTC-Clock for example - testing&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Time$ ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Lsecofday = Secofday(bsec)&lt;br /&gt;
Print &amp;quot;Second of Day of Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(bsec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Second&lt;br /&gt;
Lsyssec = 1234456789&lt;br /&gt;
Lsecofday = Secofday(lsyssec)&lt;br /&gt;
Print &amp;quot;Second of Day of System Second &amp;quot; ; Lsyssec ; &amp;quot;(&amp;quot; ; Time(lsyssec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time - String&lt;br /&gt;
Strtime = &amp;quot;04:58:37&amp;quot;&lt;br /&gt;
Lsecofday = Secofday(strtime)&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Strtime ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================== System Second ============================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 ' Load RTC-Clock for example - testing&lt;br /&gt;
_sec = 17 : _min = 35 : _hour = 8 : _day = 16 : _month = 4 : _year = 3&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Time$ ; &amp;quot; at &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with with defined Clock - Bytes (Second, Minute, Hour, Day / Month / Year)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7 : Bday = 22 : Bmonth = 12 : Byear = 1&lt;br /&gt;
Lsyssec = Syssec(bsec)&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Lsyssec = Syssec(wsysday)&lt;br /&gt;
Print &amp;quot;System Second of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot; 00:00:00) is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time and Date String&lt;br /&gt;
Strtime = &amp;quot;10:23:50&amp;quot;&lt;br /&gt;
Strdate = &amp;quot;02-11-29&amp;quot; ' ANSI-Date&lt;br /&gt;
Lsyssec = Syssec(strtime , Strdate)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec ' 91880630&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ==================== Day Of Year =========================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wdayofyear = Dayofyear(bday)&lt;br /&gt;
Print &amp;quot;Day Of Year of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot; ' we have configured ANSI Format&lt;br /&gt;
Wdayofyear = Dayofyear(strdate)&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wdayofyear = Dayofyear(lsyssec)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with System Day&lt;br /&gt;
Wsysday = 3000&lt;br /&gt;
Wdayofyear = Dayofyear(wsysday)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== System Day ======================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wsysday = Sysday(bday)&lt;br /&gt;
Print &amp;quot;System Day of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot;&lt;br /&gt;
Wsysday = Sysday(strdate)&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wsysday = Sysday(lsyssec)&lt;br /&gt;
Print &amp;quot;System Day of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== Time ================================================&lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Second / Minute / Hour) to Time - String&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Print &amp;quot;Time values: Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; converted to string &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting System Second to Time - String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strtime = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;Time of Systemsecond &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting Second of Day to Time - String&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Strtime = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Time of Second of Day &amp;quot; ; Lsecofday ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting System Second to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bsec = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Second of Day to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Bsec = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Second of Day &amp;quot; ; Lsecofday ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsecofday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting Time-string to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Strtime = &amp;quot;07:33:12&amp;quot;&lt;br /&gt;
Bsec = Time(strtime)&lt;br /&gt;
Print &amp;quot;Time &amp;quot; ; Strtime ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ============================= Date ==========================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Day / Month / Year) to Date - String&lt;br /&gt;
Bday = 29 : Bmonth = 4 : Byear = 12&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Dat values: Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; converted to string &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting from System Day to Date - String&lt;br /&gt;
Wsysday = 1234&lt;br /&gt;
Strdate = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting from System Second to Date String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strdate = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting SystemDay to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Bday = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Date - String to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Strdate = &amp;quot;04-08-31&amp;quot;&lt;br /&gt;
Bday = Date(strdate)&lt;br /&gt;
Print &amp;quot;Date &amp;quot; ; Strdate ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting System Second to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bday = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================ Second of Day elapsed&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
Lvar1 = Secelapsed(lsecofday)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
_day = _day + 1&lt;br /&gt;
Lvar1 = Syssecelapsed(lsyssec)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Looptest:&lt;br /&gt;
 &lt;br /&gt;
' Initialising for testing&lt;br /&gt;
_day = 1&lt;br /&gt;
_month = 1&lt;br /&gt;
_year = 1&lt;br /&gt;
_sec = 12&lt;br /&gt;
_min = 13&lt;br /&gt;
_hour = 14&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
If _year &amp;gt; 50 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_sec = _sec + 7&lt;br /&gt;
If _sec &amp;gt; 59 Then&lt;br /&gt;
 Incr _min&lt;br /&gt;
 _sec = _sec - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_min = _min + 2&lt;br /&gt;
If _min &amp;gt; 59 Then&lt;br /&gt;
 Incr _hour&lt;br /&gt;
 _min = _min - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
If _hour &amp;gt; 23 Then&lt;br /&gt;
 Incr _day&lt;br /&gt;
 _hour = _hour - 24&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_day = _day + 1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
If _day &amp;gt; 28 Then&lt;br /&gt;
 Select Case _month&lt;br /&gt;
 Case 1&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 2&lt;br /&gt;
 Mday = _year And &amp;amp;H03&lt;br /&gt;
 If Mday = 0 Then&lt;br /&gt;
 Mday = 29&lt;br /&gt;
 Else&lt;br /&gt;
 Mday = 28&lt;br /&gt;
 End If&lt;br /&gt;
 Case 3&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 4&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 5&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 6&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 7&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 8&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 9&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 10&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 11&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 12&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 End Select&lt;br /&gt;
 If _day &amp;gt; Mday Then&lt;br /&gt;
 _day = _day - Mday&lt;br /&gt;
 Incr _month&lt;br /&gt;
 If _month &amp;gt; 12 Then&lt;br /&gt;
 _month = 1&lt;br /&gt;
 Incr _year&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
If _year &amp;gt; 99 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print Time$ ; &amp;quot; &amp;quot; ; Date$ ; &amp;quot; &amp;quot; ; Lsecofday ; &amp;quot; &amp;quot; ; Lsyssec ; &amp;quot; &amp;quot; ; Bweekday ; &amp;quot; &amp;quot; ; Wdayofyear ; &amp;quot; &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'only when we use I2C for the clock we need to set the clock date time&lt;br /&gt;
#if Clockmode = 0&lt;br /&gt;
'called from datetime.lib&lt;br /&gt;
Dim Weekday As Byte&lt;br /&gt;
Getdatetime:&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' start address in 1307&lt;br /&gt;
 &lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307r ' send address&lt;br /&gt;
I2crbyte _sec , Ack&lt;br /&gt;
I2crbyte _min , Ack ' MINUTES&lt;br /&gt;
I2crbyte _hour , Ack ' Hours&lt;br /&gt;
I2crbyte Weekday , Ack ' Day of Week&lt;br /&gt;
I2crbyte _day , Ack ' Day of Month&lt;br /&gt;
I2crbyte _month , Ack ' Month of Year&lt;br /&gt;
I2crbyte _year , Nack ' Year&lt;br /&gt;
I2cstop&lt;br /&gt;
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)&lt;br /&gt;
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Setdate:&lt;br /&gt;
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 4 ' starting address in 1307&lt;br /&gt;
I2cwbyte _day ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _month ' MINUTES&lt;br /&gt;
I2cwbyte _year ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Settime:&lt;br /&gt;
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' starting address in 1307&lt;br /&gt;
I2cwbyte _sec ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _min ' MINUTES&lt;br /&gt;
I2cwbyte _hour ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Weekdays:&lt;br /&gt;
Data &amp;quot;Monday&amp;quot; , &amp;quot;Tuesday&amp;quot; , &amp;quot;Wednesday&amp;quot; , &amp;quot;Thursday&amp;quot; , &amp;quot;Friday&amp;quot; , &amp;quot;Saturday&amp;quot; , &amp;quot;Sunday&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DAYOFWEEK/de</id>
		<title>DAYOFWEEK/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DAYOFWEEK/de"/>
				<updated>2013-03-18T22:15:54Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Gibt den Wochentag für ein Datum zurück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;()&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(bDayMonthYear)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(strDate)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(wSysDay)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(lSysSec)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Target&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable der die Nummer des Wochentags zugewiesen wird.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
BDayMonthYear&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bytevariable, die den Tag enthält - gefolgt vom Monat (Byte) und Jahr (Byte)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
StrDate&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
String der das Datum als Zeichenkette enthält im Format wie im CONFIG DATE Befehl beschreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
WSysDay&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wordvariable die den Systemtag (SysDay) enthält.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LSysSec&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Longvariable die die Systemsekunde (SysSec) enthält.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion kann mit fünf verschiedenen Arten von Input benutzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ohne Parameter. Die internen Werte der SOFTCLOCK (_day, _month, _year) werden benutzt.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem benutzerdefinierten Array. Dieses muss in derselben Art angeordnet sein (Day, Month, Year) wie das interne SOFTCLOCK-Datum. Das erste Byte (Day) ist der Eingabewert bei dieser Art der Benutzung. Auf diese Weise kann der Wochentag für jedes Daum berechnet werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einem Datums-String. Der Datums-String muss im selben Format wie im CONFIG DATE Befehl angegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemtag-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mit einer Systemsekunden-Zahl.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Rückgabewert ist im Bereich 0 bis 6 wobei dem Montag eine 0 entspricht. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion funktioniert im 21. Jahrhundert(von 1.1.2000 bis 31.12.2099).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATETIME|Date and Time routines]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]],&amp;amp;nbsp;[[SYSDAY]],&amp;amp;nbsp;[[SYSSEC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : datetime_test1,bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show how to use the Date-Time routines from the DateTime.Lib&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : no&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Const Clockmode = 1&lt;br /&gt;
'use i2c for the clock&lt;br /&gt;
 &lt;br /&gt;
#if Clockmode = 1&lt;br /&gt;
Config Clock = Soft ' we use build in clock&lt;br /&gt;
Disable Interrupts&lt;br /&gt;
#else&lt;br /&gt;
Config Clock = User ' we use I2C for the clock&lt;br /&gt;
'configure the scl and sda pins&lt;br /&gt;
Config Sda = Portd.6&lt;br /&gt;
Config Scl = Portd.5&lt;br /&gt;
 &lt;br /&gt;
'address of ds1307&lt;br /&gt;
Const Ds1307w = &amp;amp;HD0 ' Addresses of Ds1307 clock&lt;br /&gt;
Const Ds1307r = &amp;amp;HD1&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'configure the date format&lt;br /&gt;
Config Date = Ymd , Separator = - ' ANSI-Format&lt;br /&gt;
'This sample does not have the clock started so interrupts are not enabled&lt;br /&gt;
' Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'dim the used variables&lt;br /&gt;
Dim Lvar1 As Long&lt;br /&gt;
Dim Mday As Byte&lt;br /&gt;
Dim Bweekday As Byte , Strweekday As String * 10&lt;br /&gt;
Dim Strdate As String * 8&lt;br /&gt;
Dim Strtime As String * 8&lt;br /&gt;
Dim Bsec As Byte , Bmin As Byte , Bhour As Byte&lt;br /&gt;
Dim Bday As Byte , Bmonth As Byte , Byear As Byte&lt;br /&gt;
Dim Lsecofday As Long&lt;br /&gt;
Dim Wsysday As Word&lt;br /&gt;
Dim Lsyssec As Long&lt;br /&gt;
Dim Wdayofyear As Word&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== DayOfWeek =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 &lt;br /&gt;
_day = 4 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 26 : Bmonth = 11 : Byear = 2&lt;br /&gt;
Bweekday = Dayofweek(bday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Weekday-Number of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
Wsysday = 2000 ' that is 2005-06-23&lt;br /&gt;
Bweekday = Dayofweek(wsysday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789 ' that is 2003-11-29 at 21:33:09&lt;br /&gt;
Bweekday = Dayofweek(lsyssec)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with Date-String&lt;br /&gt;
Strdate = &amp;quot;04-11-02&amp;quot; ' we have configured Date in ANSI&lt;br /&gt;
Bweekday = Dayofweek(strdate)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================= Second of Day =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_sec = 12 : _min = 30 : _hour = 18 ' Load RTC-Clock for example - testing&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Time$ ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Lsecofday = Secofday(bsec)&lt;br /&gt;
Print &amp;quot;Second of Day of Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(bsec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Second&lt;br /&gt;
Lsyssec = 1234456789&lt;br /&gt;
Lsecofday = Secofday(lsyssec)&lt;br /&gt;
Print &amp;quot;Second of Day of System Second &amp;quot; ; Lsyssec ; &amp;quot;(&amp;quot; ; Time(lsyssec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time - String&lt;br /&gt;
Strtime = &amp;quot;04:58:37&amp;quot;&lt;br /&gt;
Lsecofday = Secofday(strtime)&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Strtime ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================== System Second ============================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 ' Load RTC-Clock for example - testing&lt;br /&gt;
_sec = 17 : _min = 35 : _hour = 8 : _day = 16 : _month = 4 : _year = 3&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Time$ ; &amp;quot; at &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with with defined Clock - Bytes (Second, Minute, Hour, Day / Month / Year)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7 : Bday = 22 : Bmonth = 12 : Byear = 1&lt;br /&gt;
Lsyssec = Syssec(bsec)&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Lsyssec = Syssec(wsysday)&lt;br /&gt;
Print &amp;quot;System Second of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot; 00:00:00) is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time and Date String&lt;br /&gt;
Strtime = &amp;quot;10:23:50&amp;quot;&lt;br /&gt;
Strdate = &amp;quot;02-11-29&amp;quot; ' ANSI-Date&lt;br /&gt;
Lsyssec = Syssec(strtime , Strdate)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec ' 91880630&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ==================== Day Of Year =========================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wdayofyear = Dayofyear(bday)&lt;br /&gt;
Print &amp;quot;Day Of Year of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot; ' we have configured ANSI Format&lt;br /&gt;
Wdayofyear = Dayofyear(strdate)&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wdayofyear = Dayofyear(lsyssec)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with System Day&lt;br /&gt;
Wsysday = 3000&lt;br /&gt;
Wdayofyear = Dayofyear(wsysday)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== System Day ======================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wsysday = Sysday(bday)&lt;br /&gt;
Print &amp;quot;System Day of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot;&lt;br /&gt;
Wsysday = Sysday(strdate)&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wsysday = Sysday(lsyssec)&lt;br /&gt;
Print &amp;quot;System Day of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== Time ================================================&lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Second / Minute / Hour) to Time - String&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Print &amp;quot;Time values: Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; converted to string &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting System Second to Time - String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strtime = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;Time of Systemsecond &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting Second of Day to Time - String&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Strtime = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Time of Second of Day &amp;quot; ; Lsecofday ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting System Second to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bsec = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Second of Day to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Bsec = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Second of Day &amp;quot; ; Lsecofday ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsecofday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting Time-string to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Strtime = &amp;quot;07:33:12&amp;quot;&lt;br /&gt;
Bsec = Time(strtime)&lt;br /&gt;
Print &amp;quot;Time &amp;quot; ; Strtime ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ============================= Date ==========================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Day / Month / Year) to Date - String&lt;br /&gt;
Bday = 29 : Bmonth = 4 : Byear = 12&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Dat values: Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; converted to string &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting from System Day to Date - String&lt;br /&gt;
Wsysday = 1234&lt;br /&gt;
Strdate = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting from System Second to Date String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strdate = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting SystemDay to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Bday = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Date - String to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Strdate = &amp;quot;04-08-31&amp;quot;&lt;br /&gt;
Bday = Date(strdate)&lt;br /&gt;
Print &amp;quot;Date &amp;quot; ; Strdate ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting System Second to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bday = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================ Second of Day elapsed&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
Lvar1 = Secelapsed(lsecofday)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
_day = _day + 1&lt;br /&gt;
Lvar1 = Syssecelapsed(lsyssec)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Looptest:&lt;br /&gt;
 &lt;br /&gt;
' Initialising for testing&lt;br /&gt;
_day = 1&lt;br /&gt;
_month = 1&lt;br /&gt;
_year = 1&lt;br /&gt;
_sec = 12&lt;br /&gt;
_min = 13&lt;br /&gt;
_hour = 14&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
If _year &amp;gt; 50 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_sec = _sec + 7&lt;br /&gt;
If _sec &amp;gt; 59 Then&lt;br /&gt;
 Incr _min&lt;br /&gt;
 _sec = _sec - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_min = _min + 2&lt;br /&gt;
If _min &amp;gt; 59 Then&lt;br /&gt;
 Incr _hour&lt;br /&gt;
 _min = _min - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
If _hour &amp;gt; 23 Then&lt;br /&gt;
 Incr _day&lt;br /&gt;
 _hour = _hour - 24&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_day = _day + 1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
If _day &amp;gt; 28 Then&lt;br /&gt;
 Select Case _month&lt;br /&gt;
 Case 1&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 2&lt;br /&gt;
 Mday = _year And &amp;amp;H03&lt;br /&gt;
 If Mday = 0 Then&lt;br /&gt;
 Mday = 29&lt;br /&gt;
 Else&lt;br /&gt;
 Mday = 28&lt;br /&gt;
 End If&lt;br /&gt;
 Case 3&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 4&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 5&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 6&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 7&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 8&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 9&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 10&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 11&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 12&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 End Select&lt;br /&gt;
 If _day &amp;gt; Mday Then&lt;br /&gt;
 _day = _day - Mday&lt;br /&gt;
 Incr _month&lt;br /&gt;
 If _month &amp;gt; 12 Then&lt;br /&gt;
 _month = 1&lt;br /&gt;
 Incr _year&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
If _year &amp;gt; 99 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print Time$ ; &amp;quot; &amp;quot; ; Date$ ; &amp;quot; &amp;quot; ; Lsecofday ; &amp;quot; &amp;quot; ; Lsyssec ; &amp;quot; &amp;quot; ; Bweekday ; &amp;quot; &amp;quot; ; Wdayofyear ; &amp;quot; &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'only when we use I2C for the clock we need to set the clock date time&lt;br /&gt;
#if Clockmode = 0&lt;br /&gt;
'called from datetime.lib&lt;br /&gt;
Dim Weekday As Byte&lt;br /&gt;
Getdatetime:&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' start address in 1307&lt;br /&gt;
 &lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307r ' send address&lt;br /&gt;
I2crbyte _sec , Ack&lt;br /&gt;
I2crbyte _min , Ack ' MINUTES&lt;br /&gt;
I2crbyte _hour , Ack ' Hours&lt;br /&gt;
I2crbyte Weekday , Ack ' Day of Week&lt;br /&gt;
I2crbyte _day , Ack ' Day of Month&lt;br /&gt;
I2crbyte _month , Ack ' Month of Year&lt;br /&gt;
I2crbyte _year , Nack ' Year&lt;br /&gt;
I2cstop&lt;br /&gt;
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)&lt;br /&gt;
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Setdate:&lt;br /&gt;
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 4 ' starting address in 1307&lt;br /&gt;
I2cwbyte _day ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _month ' MINUTES&lt;br /&gt;
I2cwbyte _year ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Settime:&lt;br /&gt;
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' starting address in 1307&lt;br /&gt;
I2cwbyte _sec ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _min ' MINUTES&lt;br /&gt;
I2cwbyte _hour ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Weekdays:&lt;br /&gt;
Data &amp;quot;Monday&amp;quot; , &amp;quot;Tuesday&amp;quot; , &amp;quot;Wednesday&amp;quot; , &amp;quot;Thursday&amp;quot; , &amp;quot;Friday&amp;quot; , &amp;quot;Saturday&amp;quot; , &amp;quot;Sunday&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/DAYOFWEEK/de</id>
		<title>DAYOFWEEK/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/DAYOFWEEK/de"/>
				<updated>2013-03-18T21:52:49Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Gibt den Wochentag für ein Datum zurück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;()&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(bDayMonthYear)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(strDate)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(wSysDay)&lt;br /&gt;
&lt;br /&gt;
Target =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DayOfWeek&amp;lt;/span&amp;gt;(lSysSec)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Target&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Byte – variable, that is assigned with the day of the week&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
BDayMonthYear&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Byte – variable, which holds the Day-value followed by Month(Byte) and Year (Byte)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
StrDate&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A String, which holds a Date-String in the format specified in the&lt;br /&gt;
&lt;br /&gt;
CONFIG DATE statement&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
WSysDay&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Word – variable, which holds the System Day (SysDay)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 136px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LSysSec&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 464px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Long – variable, which holds the System Second (SysSec)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Function can be used with five different kind of Input:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Without any parameter. The internal Date-values of SOFTCLOCK (_day, _month, _year) are used.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| With a user defined date array. It must be arranged in same way (Day, Month, Year) as the internal SOFTCLOCK date. The first Byte (Day) is the input by this kind of usage. So the Day of the Week can be calculated of every date.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| With a Date-String. The date-string must be in the Format specified in the Config Date Statement&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| With a System Day – Number.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| With a System Second - Number&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Return-Value is in the range of 0 to 6, Monday starts with 0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Function is valid in the 21th century (from 2000-01-01 to 2099-12-31).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DATETIME|Date and Time routines]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG DATE|CONFIG DATE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CONFIG CLOCK|CONFIG CLOCK]],&amp;amp;nbsp;[[SYSDAY]],&amp;amp;nbsp;[[SYSSEC]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : datetime_test1,bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show how to use the Date-Time routines from the DateTime.Lib&lt;br /&gt;
'micro : Mega103&lt;br /&gt;
'suited for demo : no&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m103def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Const Clockmode = 1&lt;br /&gt;
'use i2c for the clock&lt;br /&gt;
 &lt;br /&gt;
#if Clockmode = 1&lt;br /&gt;
Config Clock = Soft ' we use build in clock&lt;br /&gt;
Disable Interrupts&lt;br /&gt;
#else&lt;br /&gt;
Config Clock = User ' we use I2C for the clock&lt;br /&gt;
'configure the scl and sda pins&lt;br /&gt;
Config Sda = Portd.6&lt;br /&gt;
Config Scl = Portd.5&lt;br /&gt;
 &lt;br /&gt;
'address of ds1307&lt;br /&gt;
Const Ds1307w = &amp;amp;HD0 ' Addresses of Ds1307 clock&lt;br /&gt;
Const Ds1307r = &amp;amp;HD1&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'configure the date format&lt;br /&gt;
Config Date = Ymd , Separator = - ' ANSI-Format&lt;br /&gt;
'This sample does not have the clock started so interrupts are not enabled&lt;br /&gt;
' Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'dim the used variables&lt;br /&gt;
Dim Lvar1 As Long&lt;br /&gt;
Dim Mday As Byte&lt;br /&gt;
Dim Bweekday As Byte , Strweekday As String * 10&lt;br /&gt;
Dim Strdate As String * 8&lt;br /&gt;
Dim Strtime As String * 8&lt;br /&gt;
Dim Bsec As Byte , Bmin As Byte , Bhour As Byte&lt;br /&gt;
Dim Bday As Byte , Bmonth As Byte , Byear As Byte&lt;br /&gt;
Dim Lsecofday As Long&lt;br /&gt;
Dim Wsysday As Word&lt;br /&gt;
Dim Lsyssec As Long&lt;br /&gt;
Dim Wdayofyear As Word&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== DayOfWeek =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 &lt;br /&gt;
_day = 4 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 26 : Bmonth = 11 : Byear = 2&lt;br /&gt;
Bweekday = Dayofweek(bday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Weekday-Number of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
Wsysday = 2000 ' that is 2005-06-23&lt;br /&gt;
Bweekday = Dayofweek(wsysday)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789 ' that is 2003-11-29 at 21:33:09&lt;br /&gt;
Bweekday = Dayofweek(lsyssec)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with Date-String&lt;br /&gt;
Strdate = &amp;quot;04-11-02&amp;quot; ' we have configured Date in ANSI&lt;br /&gt;
Bweekday = Dayofweek(strdate)&lt;br /&gt;
Strweekday = Lookupstr(bweekday , Weekdays)&lt;br /&gt;
Print &amp;quot;Weekday-Number of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Bweekday ; &amp;quot; = &amp;quot; ; Strweekday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================= Second of Day =============================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_sec = 12 : _min = 30 : _hour = 18 ' Load RTC-Clock for example - testing&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Time$ ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Lsecofday = Secofday(bsec)&lt;br /&gt;
Print &amp;quot;Second of Day of Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(bsec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Second&lt;br /&gt;
Lsyssec = 1234456789&lt;br /&gt;
Lsecofday = Secofday(lsyssec)&lt;br /&gt;
Print &amp;quot;Second of Day of System Second &amp;quot; ; Lsyssec ; &amp;quot;(&amp;quot; ; Time(lsyssec) ; &amp;quot;) is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time - String&lt;br /&gt;
Strtime = &amp;quot;04:58:37&amp;quot;&lt;br /&gt;
Lsecofday = Secofday(strtime)&lt;br /&gt;
Print &amp;quot;Second of Day of &amp;quot; ; Strtime ; &amp;quot; is &amp;quot; ; Lsecofday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================== System Second ============================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
 ' Load RTC-Clock for example - testing&lt;br /&gt;
_sec = 17 : _min = 35 : _hour = 8 : _day = 16 : _month = 4 : _year = 3&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Time$ ; &amp;quot; at &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with with defined Clock - Bytes (Second, Minute, Hour, Day / Month / Year)&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7 : Bday = 22 : Bmonth = 12 : Byear = 1&lt;br /&gt;
Lsyssec = Syssec(bsec)&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with System Day&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Lsyssec = Syssec(wsysday)&lt;br /&gt;
Print &amp;quot;System Second of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot; 00:00:00) is &amp;quot; ; Lsyssec&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with Time and Date String&lt;br /&gt;
Strtime = &amp;quot;10:23:50&amp;quot;&lt;br /&gt;
Strdate = &amp;quot;02-11-29&amp;quot; ' ANSI-Date&lt;br /&gt;
Lsyssec = Syssec(strtime , Strdate)&lt;br /&gt;
Print &amp;quot;System Second of &amp;quot; ; Strtime ; &amp;quot; at &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Lsyssec ' 91880630&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ==================== Day Of Year =========================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wdayofyear = Dayofyear(bday)&lt;br /&gt;
Print &amp;quot;Day Of Year of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot; ' we have configured ANSI Format&lt;br /&gt;
Wdayofyear = Dayofyear(strdate)&lt;br /&gt;
Print &amp;quot;Day Of Year of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wdayofyear = Dayofyear(lsyssec)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5 with System Day&lt;br /&gt;
Wsysday = 3000&lt;br /&gt;
Wdayofyear = Dayofyear(wsysday)&lt;br /&gt;
Print &amp;quot;Day Of Year of System Day &amp;quot; ; Wsysday ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;) is &amp;quot; ; Wdayofyear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== System Day ======================================&lt;br /&gt;
' Example 1 with internal RTC-Clock&lt;br /&gt;
_day = 20 : _month = 11 : _year = 2 ' Load RTC-Clock for example - testing&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Date$ ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2 with defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Bday = 24 : Bmonth = 5 : Byear = 8&lt;br /&gt;
Wsysday = Sysday(bday)&lt;br /&gt;
Print &amp;quot;System Day of Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(bday) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3 with Date - String&lt;br /&gt;
Strdate = &amp;quot;04-10-29&amp;quot;&lt;br /&gt;
Wsysday = Sysday(strdate)&lt;br /&gt;
Print &amp;quot;System Day of &amp;quot; ; Strdate ; &amp;quot; is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
' Example 4 with System Second&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Wsysday = Sysday(lsyssec)&lt;br /&gt;
Print &amp;quot;System Day of System Second &amp;quot; ; Lsyssec ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;) is &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' =================== Time ================================================&lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Second / Minute / Hour) to Time - String&lt;br /&gt;
Bsec = 20 : Bmin = 1 : Bhour = 7&lt;br /&gt;
Strtime = Time(bsec)&lt;br /&gt;
Print &amp;quot;Time values: Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; converted to string &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting System Second to Time - String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strtime = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;Time of Systemsecond &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting Second of Day to Time - String&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Strtime = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Time of Second of Day &amp;quot; ; Lsecofday ; &amp;quot; is &amp;quot; ; Strtime&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting System Second to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bsec = Time(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Second of Day to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Lsecofday = 12345&lt;br /&gt;
Bsec = Time(lsecofday)&lt;br /&gt;
Print &amp;quot;Second of Day &amp;quot; ; Lsecofday ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour ; &amp;quot; (&amp;quot; ; Time(lsecofday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting Time-string to defined Clock - Bytes (Second / Minute / Hour)&lt;br /&gt;
Strtime = &amp;quot;07:33:12&amp;quot;&lt;br /&gt;
Bsec = Time(strtime)&lt;br /&gt;
Print &amp;quot;Time &amp;quot; ; Strtime ; &amp;quot; converted to Sec=&amp;quot; ; Bsec ; &amp;quot; Min=&amp;quot; ; Bmin ; &amp;quot; Hour=&amp;quot; ; Bhour&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ============================= Date ==========================================&lt;br /&gt;
 &lt;br /&gt;
' Example 1: Converting defined Clock - Bytes (Day / Month / Year) to Date - String&lt;br /&gt;
Bday = 29 : Bmonth = 4 : Byear = 12&lt;br /&gt;
Strdate = Date(bday)&lt;br /&gt;
Print &amp;quot;Dat values: Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; converted to string &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 2: Converting from System Day to Date - String&lt;br /&gt;
Wsysday = 1234&lt;br /&gt;
Strdate = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 3: Converting from System Second to Date String&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Strdate = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; is &amp;quot; ; Strdate&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 4: Converting SystemDay to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
 &lt;br /&gt;
Wsysday = 2000&lt;br /&gt;
Bday = Date(wsysday)&lt;br /&gt;
Print &amp;quot;System Day &amp;quot; ; Wsysday ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(wsysday) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 5: Converting Date - String to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Strdate = &amp;quot;04-08-31&amp;quot;&lt;br /&gt;
Bday = Date(strdate)&lt;br /&gt;
Print &amp;quot;Date &amp;quot; ; Strdate ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Example 6: Converting System Second to defined Clock - Bytes (Day / Month / Year)&lt;br /&gt;
Lsyssec = 123456789&lt;br /&gt;
Bday = Date(lsyssec)&lt;br /&gt;
Print &amp;quot;System Second &amp;quot; ; Lsyssec ; &amp;quot; converted to Day=&amp;quot; ; Bday ; &amp;quot; Month=&amp;quot; ; Bmonth ; &amp;quot; Year=&amp;quot; ; Byear ; &amp;quot; (&amp;quot; ; Date(lsyssec) ; &amp;quot;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ================ Second of Day elapsed&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
Lvar1 = Secelapsed(lsecofday)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
_day = _day + 1&lt;br /&gt;
Lvar1 = Syssecelapsed(lsyssec)&lt;br /&gt;
Print Lvar1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Looptest:&lt;br /&gt;
 &lt;br /&gt;
' Initialising for testing&lt;br /&gt;
_day = 1&lt;br /&gt;
_month = 1&lt;br /&gt;
_year = 1&lt;br /&gt;
_sec = 12&lt;br /&gt;
_min = 13&lt;br /&gt;
_hour = 14&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
If _year &amp;gt; 50 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_sec = _sec + 7&lt;br /&gt;
If _sec &amp;gt; 59 Then&lt;br /&gt;
 Incr _min&lt;br /&gt;
 _sec = _sec - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_min = _min + 2&lt;br /&gt;
If _min &amp;gt; 59 Then&lt;br /&gt;
 Incr _hour&lt;br /&gt;
 _min = _min - 60&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_hour = _hour + 1&lt;br /&gt;
If _hour &amp;gt; 23 Then&lt;br /&gt;
 Incr _day&lt;br /&gt;
 _hour = _hour - 24&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
_day = _day + 1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
If _day &amp;gt; 28 Then&lt;br /&gt;
 Select Case _month&lt;br /&gt;
 Case 1&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 2&lt;br /&gt;
 Mday = _year And &amp;amp;H03&lt;br /&gt;
 If Mday = 0 Then&lt;br /&gt;
 Mday = 29&lt;br /&gt;
 Else&lt;br /&gt;
 Mday = 28&lt;br /&gt;
 End If&lt;br /&gt;
 Case 3&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 4&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 5&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 6&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 7&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 8&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 9&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 10&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 Case 11&lt;br /&gt;
 Mday = 30&lt;br /&gt;
 Case 12&lt;br /&gt;
 Mday = 31&lt;br /&gt;
 End Select&lt;br /&gt;
 If _day &amp;gt; Mday Then&lt;br /&gt;
 _day = _day - Mday&lt;br /&gt;
 Incr _month&lt;br /&gt;
 If _month &amp;gt; 12 Then&lt;br /&gt;
 _month = 1&lt;br /&gt;
 Incr _year&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
If _year &amp;gt; 99 Then&lt;br /&gt;
 Exit Do&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
Lsecofday = Secofday()&lt;br /&gt;
Lsyssec = Syssec()&lt;br /&gt;
Bweekday = Dayofweek()&lt;br /&gt;
Wdayofyear = Dayofyear()&lt;br /&gt;
Wsysday = Sysday()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print Time$ ; &amp;quot; &amp;quot; ; Date$ ; &amp;quot; &amp;quot; ; Lsecofday ; &amp;quot; &amp;quot; ; Lsyssec ; &amp;quot; &amp;quot; ; Bweekday ; &amp;quot; &amp;quot; ; Wdayofyear ; &amp;quot; &amp;quot; ; Wsysday&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'only when we use I2C for the clock we need to set the clock date time&lt;br /&gt;
#if Clockmode = 0&lt;br /&gt;
'called from datetime.lib&lt;br /&gt;
Dim Weekday As Byte&lt;br /&gt;
Getdatetime:&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' start address in 1307&lt;br /&gt;
 &lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307r ' send address&lt;br /&gt;
I2crbyte _sec , Ack&lt;br /&gt;
I2crbyte _min , Ack ' MINUTES&lt;br /&gt;
I2crbyte _hour , Ack ' Hours&lt;br /&gt;
I2crbyte Weekday , Ack ' Day of Week&lt;br /&gt;
I2crbyte _day , Ack ' Day of Month&lt;br /&gt;
I2crbyte _month , Ack ' Month of Year&lt;br /&gt;
I2crbyte _year , Nack ' Year&lt;br /&gt;
I2cstop&lt;br /&gt;
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)&lt;br /&gt;
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Setdate:&lt;br /&gt;
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 4 ' starting address in 1307&lt;br /&gt;
I2cwbyte _day ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _month ' MINUTES&lt;br /&gt;
I2cwbyte _year ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Settime:&lt;br /&gt;
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)&lt;br /&gt;
I2cstart ' Generate start code&lt;br /&gt;
I2cwbyte Ds1307w ' send address&lt;br /&gt;
I2cwbyte 0 ' starting address in 1307&lt;br /&gt;
I2cwbyte _sec ' Send Data to SECONDS&lt;br /&gt;
I2cwbyte _min ' MINUTES&lt;br /&gt;
I2cwbyte _hour ' Hours&lt;br /&gt;
I2cstop&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Weekdays:&lt;br /&gt;
Data &amp;quot;Monday&amp;quot; , &amp;quot;Tuesday&amp;quot; , &amp;quot;Wednesday&amp;quot; , &amp;quot;Thursday&amp;quot; , &amp;quot;Friday&amp;quot; , &amp;quot;Saturday&amp;quot; , &amp;quot;Sunday&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)</id>
		<title>STAND ?BERSETZUNG (tempor?r)</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/STAND_%3FBERSETZUNG_(tempor%3Fr)"/>
				<updated>2013-03-17T23:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAIN MENUE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  *Installation/de&lt;br /&gt;
 Übersetzt Installation of BASCOM/de&lt;br /&gt;
 Übersetzt Installation on multiple computers/de&lt;br /&gt;
 Übersetzt Move to new PC/de&lt;br /&gt;
 Übersetzt Updates/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM Language Fundamentals/de&lt;br /&gt;
 Übersetzt ASCII chart/de&lt;br /&gt;
 Übersetzt Assembler mnemonics/de&lt;br /&gt;
 Übersetzt Changes compared to BASCOM-8051/de&lt;br /&gt;
 Übersetzt Error Codes/de&lt;br /&gt;
 Übersetzt Keyword reference/de&lt;br /&gt;
 Übersetzt  Language Fundamentals/de&lt;br /&gt;
 Übersetzt Mixing ASM and BASIC/de&lt;br /&gt;
 Übersetzt Newbie problems/de&lt;br /&gt;
 No content?? Reserved Words/de&lt;br /&gt;
 Übersetzt Tips and tricks/de&lt;br /&gt;
&lt;br /&gt;
  *ASM Libraries and Add-Ons/de&lt;br /&gt;
 *AVR-DOS/de&lt;br /&gt;
 *BCCARD/de&lt;br /&gt;
 *CF Card/de&lt;br /&gt;
 *DATE TIME/de&lt;br /&gt;
 *Floating Point/de&lt;br /&gt;
 *I2C SLAVE/de&lt;br /&gt;
 *LCD/de&lt;br /&gt;
 *PS2-AT Mouse and Keyboard Emulation/de&lt;br /&gt;
 *SPI/de&lt;br /&gt;
 *USB/de&lt;br /&gt;
 EXTENDED I2C/de&lt;br /&gt;
 FM24C16/de&lt;br /&gt;
 FM24C64-256/de&lt;br /&gt;
 FM25C256/de&lt;br /&gt;
 HEXVAL lib/de&lt;br /&gt;
 I2C-TWI/de&lt;br /&gt;
 MCSBYTE/de&lt;br /&gt;
 MCSBYTEINT/de&lt;br /&gt;
 MODBUS Slave-Server/de&lt;br /&gt;
 TCPIP/de&lt;br /&gt;
&lt;br /&gt;
  *BASCOM HARDWARE/de&lt;br /&gt;
 *Chips/de&lt;br /&gt;
 *Reference Designs/de&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background-color: rgb(249, 249, 249); font-family: monospace, 'Courier New'; font-size: 11px; line-height: 1.3em;&amp;quot;&amp;gt;Übersetzt &amp;lt;/span&amp;gt;Adding XRAM to XMEGA using EBI/de&lt;br /&gt;
 Adding XRAM with External Memory Interface/de&lt;br /&gt;
 Additional Hardware/de&lt;br /&gt;
 Attaching an LCD Display/de&lt;br /&gt;
 AVR Internal Hardware Port B/de&lt;br /&gt;
 AVR Internal Hardware Port D/de&lt;br /&gt;
 AVR Internal Hardware TIMER0/de&lt;br /&gt;
 AVR Internal Hardware TIMER1/de&lt;br /&gt;
 AVR Internal Hardware Watchdog timer/de&lt;br /&gt;
 AVR Internal Hardware/de&lt;br /&gt;
 AVR Internal Registers/de&lt;br /&gt;
 Memory usage/de&lt;br /&gt;
 Power Up/de&lt;br /&gt;
 Using RS485/de&lt;br /&gt;
 Using the 1 WIRE protocol/de&lt;br /&gt;
 Using the I2C protocol/de&lt;br /&gt;
 Using the SPI protocol/de&lt;br /&gt;
 Übersetzt Using the UART/de&lt;br /&gt;
 Using USI (Universal Serial Interface)/de&lt;br /&gt;
&lt;br /&gt;
 *Tools/de&lt;br /&gt;
 LCD RGB-8 Converter/de&lt;br /&gt;
&lt;br /&gt;
 *BASCOM IDE/de&lt;br /&gt;
 *Options Compiler/de&lt;br /&gt;
 *Options Programmer/de&lt;br /&gt;
 *Plugins/de&lt;br /&gt;
 Übersetzt BASCOM Editor Keys/de&lt;br /&gt;
 Edit Copy/de&lt;br /&gt;
 Edit Cut/de&lt;br /&gt;
 Edit Encrypt Selected Code/de&lt;br /&gt;
 Edit Find Next/de&lt;br /&gt;
 Edit Find/de&lt;br /&gt;
 Edit Goto Bookmark/de&lt;br /&gt;
 Edit Goto/de&lt;br /&gt;
 Edit Indent Block/de&lt;br /&gt;
 Edit Paste/de&lt;br /&gt;
 Edit Redo/de&lt;br /&gt;
 Edit Remark Block/de&lt;br /&gt;
 Edit Replace/de&lt;br /&gt;
 Edit Toggle Bookmark/de&lt;br /&gt;
 Edit Undo/de&lt;br /&gt;
 Edit Unindent Block/de&lt;br /&gt;
 File Close/de&lt;br /&gt;
 File Exit/de&lt;br /&gt;
 File New/de&lt;br /&gt;
 File Open/de&lt;br /&gt;
 File Print Preview/de&lt;br /&gt;
 File Print/de&lt;br /&gt;
 File Project/de&lt;br /&gt;
 File Save As/de&lt;br /&gt;
 File Save/de&lt;br /&gt;
 Help About/de&lt;br /&gt;
 Help Credits/de&lt;br /&gt;
 Help Index/de&lt;br /&gt;
 Help Knowledge Base/de&lt;br /&gt;
 Help MCS Forum/de&lt;br /&gt;
 Help MCS Shop/de&lt;br /&gt;
 Help Support/de&lt;br /&gt;
 Help Update/de&lt;br /&gt;
 Options Communication/de&lt;br /&gt;
 Options Environment/de&lt;br /&gt;
 Options Monitor/de&lt;br /&gt;
 Options Printer/de&lt;br /&gt;
 Options Simulator/de&lt;br /&gt;
 Program Compile/de&lt;br /&gt;
 Program Development Order/de&lt;br /&gt;
 Program Send to Chip/de&lt;br /&gt;
 Program Show Result/de&lt;br /&gt;
 Program Simulate/de&lt;br /&gt;
 Program Syntax Check/de&lt;br /&gt;
 Running BASCOM-AVR/de&lt;br /&gt;
 Tools Batch Compile/de&lt;br /&gt;
 Tools Graphic Converter/de&lt;br /&gt;
 Tools LCD Designer/de&lt;br /&gt;
 Tools LIB Manager/de&lt;br /&gt;
 Tools PDF Update/de&lt;br /&gt;
 Tools Plugin Manager/de&lt;br /&gt;
 Tools Resource Editor/de&lt;br /&gt;
 Tools Stack Analyzer/de&lt;br /&gt;
 Tools Terminal Emulator/de&lt;br /&gt;
 View Code Explorer/de&lt;br /&gt;
 View Error Panel/de&lt;br /&gt;
 View PDF viewer/de&lt;br /&gt;
 View PinOut/de&lt;br /&gt;
 View Project Files/de&lt;br /&gt;
 View Tip/de&lt;br /&gt;
 Window Arrange Icons/de&lt;br /&gt;
 Window Cascade/de&lt;br /&gt;
 Window Minimize All/de&lt;br /&gt;
 Window Tile/de&lt;br /&gt;
 Windows Maximize All/de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 BASCOM-AVR Stichworte - DE Übersetzung&lt;br /&gt;
&lt;br /&gt;
 $AESKEY/de&lt;br /&gt;
 $ASM/de&lt;br /&gt;
 $BAUD/de&lt;br /&gt;
 $BAUD1/de&lt;br /&gt;
 $BGF/de&lt;br /&gt;
 $BIGSTRINGS/de&lt;br /&gt;
 $BOOT/de&lt;br /&gt;
 $CRYPT/de&lt;br /&gt;
 Übersetzt $CRYSTAL/de&lt;br /&gt;
 $DATA/de&lt;br /&gt;
 $DBG/de&lt;br /&gt;
 $DEFAULT/de&lt;br /&gt;
 Übersetzt $EEPLEAVE/de&lt;br /&gt;
 Übersetzt $EEPROM/de&lt;br /&gt;
 Übersetzt $EEPROMHEX/de&lt;br /&gt;
 $EEPROMSIZE/de&lt;br /&gt;
 $EXTERNAL/de&lt;br /&gt;
 $FILE/de&lt;br /&gt;
 $FRAMECHECK/de&lt;br /&gt;
 $FRAMEPROTECT/de&lt;br /&gt;
 $FRAMESIZE/de&lt;br /&gt;
 $HWCHECK/de&lt;br /&gt;
 $HWSTACK/de&lt;br /&gt;
 $INC/de&lt;br /&gt;
 $INCLUDE/de&lt;br /&gt;
 $INITMICRO/de&lt;br /&gt;
 Übersetzt $LCD/de&lt;br /&gt;
 $LCDPUTCTRL/de&lt;br /&gt;
 $LCDPUTDATA/de&lt;br /&gt;
 Übersetzt $LCDRS/de&lt;br /&gt;
 $LCDVFO/de&lt;br /&gt;
 $LIB/de&lt;br /&gt;
 $LOADER/de&lt;br /&gt;
 $LOADERSIZE/de&lt;br /&gt;
 $MAP/de&lt;br /&gt;
 $NOCOMPILE/de&lt;br /&gt;
 $NOFRAMEPROTECT/de&lt;br /&gt;
 $NOINIT/de&lt;br /&gt;
 $NORAMCLEAR/de&lt;br /&gt;
 $NORAMPZ/de&lt;br /&gt;
 $NOTRANSFORM/de&lt;br /&gt;
 $PROG/de&lt;br /&gt;
 $PROGRAMMER/de&lt;br /&gt;
 $PROJECTTIME/de&lt;br /&gt;
 $REGFILE/de&lt;br /&gt;
 $RESOURCE/de&lt;br /&gt;
 $ROMSTART/de&lt;br /&gt;
 $SERIALINPUT/de&lt;br /&gt;
 $SERIALINPUT1/de&lt;br /&gt;
 $SERIALINPUT2LCD/de&lt;br /&gt;
 $SERIALOUTPUT/de&lt;br /&gt;
 $SERIALOUTPUT1/de&lt;br /&gt;
 Übersetzt $SIM/de&lt;br /&gt;
 $SOFTCHECK/de&lt;br /&gt;
 $STACKDUMP/de&lt;br /&gt;
 $SWSTACK/de&lt;br /&gt;
 $TIMEOUT/de&lt;br /&gt;
 $TINY/de&lt;br /&gt;
 $VERSION/de&lt;br /&gt;
 $WAITSTATE/de&lt;br /&gt;
 $XA/de&lt;br /&gt;
 $XRAMSIZE/de&lt;br /&gt;
 $XRAMSTART/de&lt;br /&gt;
 $XTEAKEY/de&lt;br /&gt;
&lt;br /&gt;
 *AUTOCODE/de&lt;br /&gt;
 *IF ELSE ELSEIF ENDIF/de&lt;br /&gt;
&lt;br /&gt;
 1WIRECOUNT/de&lt;br /&gt;
 In Arbeit 1WREAD/de&lt;br /&gt;
 1WRESET/de&lt;br /&gt;
 1WSEARCHFIRST/de&lt;br /&gt;
 1WSEARCHNEXT/de&lt;br /&gt;
 1WVERIFY/de&lt;br /&gt;
 Übersetzt 1WWRITE/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt ABS/de&lt;br /&gt;
 ACOS/de&lt;br /&gt;
 Übersetzt ADR/de&lt;br /&gt;
 Übersetzt ADR2/de&lt;br /&gt;
 AESDECRYPT/de&lt;br /&gt;
 AESENCRYPT/de&lt;br /&gt;
 Übersetzt ALIAS/de&lt;br /&gt;
 Übersetzt ASC/de&lt;br /&gt;
 ASIN/de&lt;br /&gt;
 ATN/de&lt;br /&gt;
 ATN2/de&lt;br /&gt;
&lt;br /&gt;
 BASE64DEC/de&lt;br /&gt;
 BASE64ENC/de&lt;br /&gt;
 BAUD/de&lt;br /&gt;
 BAUD1/de&lt;br /&gt;
 Übersetzt BCD/de&lt;br /&gt;
 Übersetzt BIN/de&lt;br /&gt;
 BIN2GRAY/de&lt;br /&gt;
 Übersetzt BINVAL/de&lt;br /&gt;
 Übersetzt BITS/de&lt;br /&gt;
 Übersetzt BITWAIT/de&lt;br /&gt;
 BLOAD/de&lt;br /&gt;
 BOX/de&lt;br /&gt;
 BOXFILL/de&lt;br /&gt;
 BSAVE/de&lt;br /&gt;
 BUFSPACE/de&lt;br /&gt;
 BYVAL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt CALL/de&lt;br /&gt;
 CANBAUD/de&lt;br /&gt;
 CANCLEARALLMOBS/de&lt;br /&gt;
 CANCLEARMOB/de&lt;br /&gt;
 CANGETINTS/de&lt;br /&gt;
 CANID/de&lt;br /&gt;
 CANRECEIVE/de&lt;br /&gt;
 CANRESET/de&lt;br /&gt;
 CANSELPAGE/de&lt;br /&gt;
 CANSEND/de&lt;br /&gt;
 Übersetzt CHARPOS/de&lt;br /&gt;
 CHDIR/de&lt;br /&gt;
 CHECKFLOAT/de&lt;br /&gt;
 CHECKSUM/de&lt;br /&gt;
 CHECKSUMXOR/de&lt;br /&gt;
 Übersetzt CHR/de&lt;br /&gt;
 CIRCLE/de&lt;br /&gt;
 CLEAR/de&lt;br /&gt;
 CLOCKDIVISION/de&lt;br /&gt;
 CLOSE/de&lt;br /&gt;
 CLOSESOCKET/de&lt;br /&gt;
 Übersetzt CLS/de&lt;br /&gt;
 CONFIG/de&lt;br /&gt;
 CONFIG 1WIRE/de&lt;br /&gt;
 CONFIG ACI/de&lt;br /&gt;
 CONFIG ACXX/de&lt;br /&gt;
 CONFIG ADC/de&lt;br /&gt;
 CONFIG ADCX/de&lt;br /&gt;
 CONFIG ATEMU/de&lt;br /&gt;
 CONFIG BASE/de&lt;br /&gt;
 CONFIG BCCARD/de&lt;br /&gt;
 CONFIG CANBUS/de&lt;br /&gt;
 CONFIG CANMOB/de&lt;br /&gt;
 CONFIG CLOCK/de&lt;br /&gt;
 CONFIG CLOCKDIV/de&lt;br /&gt;
 CONFIG COM1/de&lt;br /&gt;
 CONFIG COM2/de&lt;br /&gt;
 CONFIG COMX/de&lt;br /&gt;
 CONFIG DACX/de&lt;br /&gt;
 CONFIG DATE/de&lt;br /&gt;
 CONFIG DCF77/de&lt;br /&gt;
 Übersetzt CONFIG DEBOUNCE/de&lt;br /&gt;
 CONFIG DMA/de&lt;br /&gt;
 CONFIG DMACHX/de&lt;br /&gt;
 CONFIG DMXSLAVE/de&lt;br /&gt;
 CONFIG DP/de&lt;br /&gt;
 CONFIG EEPROM/de&lt;br /&gt;
 CONFIG ERROR/de&lt;br /&gt;
 CONFIG EVENT SYSTEM/de&lt;br /&gt;
 CONFIG EXTENDED PORT/de&lt;br /&gt;
 CONFIG GRAPHLCD/de&lt;br /&gt;
 CONFIG HITAG/de&lt;br /&gt;
 CONFIG I2CDELAY/de&lt;br /&gt;
 CONFIG I2CSLAVE/de&lt;br /&gt;
 CONFIG INPUT/de&lt;br /&gt;
 CONFIG INTX/de&lt;br /&gt;
 CONFIG KBD/de&lt;br /&gt;
 CONFIG KEYBOARD/de&lt;br /&gt;
 Übersetzt CONFIG LCD/de&lt;br /&gt;
 CONFIG LCDBUS/de&lt;br /&gt;
 Übersetzt CONFIG LCDMODE/de&lt;br /&gt;
 Übersetzt CONFIG LCDPIN/de&lt;br /&gt;
 CONFIG OSC/de&lt;br /&gt;
 Übersetzt CONFIG PORT/de&lt;br /&gt;
 Übersetzt CONFIG POWERMODE/de&lt;br /&gt;
 CONFIG POWER REDUCTION/de&lt;br /&gt;
 CONFIG PRINT/de&lt;br /&gt;
 CONFIG PRINTBIN/de&lt;br /&gt;
 CONFIG PRIORITY/de&lt;br /&gt;
 CONFIG PS2EMU/de&lt;br /&gt;
 CONFIG RC5/de&lt;br /&gt;
 CONFIG SCL/de&lt;br /&gt;
 CONFIG SDA/de&lt;br /&gt;
 CONFIG SERIALIN/de&lt;br /&gt;
 CONFIG SERIALOUT/de&lt;br /&gt;
 CONFIG SERVOS/de&lt;br /&gt;
 CONFIG SHIFTIN/de&lt;br /&gt;
 CONFIG SINGLE/de&lt;br /&gt;
 CONFIG SPI/de&lt;br /&gt;
 CONFIG SPIX/de&lt;br /&gt;
 Übersetzt CONFIG SUBMODE/de&lt;br /&gt;
 CONFIG SYSCLOCK/de&lt;br /&gt;
 CONFIG TCPIP/de&lt;br /&gt;
 CONFIG TCXX/de&lt;br /&gt;
 CONFIG TIMER0/de&lt;br /&gt;
 CONFIG TIMER1/de&lt;br /&gt;
 CONFIG TIMER2/de&lt;br /&gt;
 CONFIG TWI/de&lt;br /&gt;
 CONFIG TWISLAVE/de&lt;br /&gt;
 CONFIG USB/de&lt;br /&gt;
 CONFIG VPORT/de&lt;br /&gt;
 CONFIG WAITSUART/de&lt;br /&gt;
 CONFIG WATCHDOG/de&lt;br /&gt;
 CONFIG X10/de&lt;br /&gt;
 CONFIG XPIN/de&lt;br /&gt;
 CONFIG XRAM/de&lt;br /&gt;
 Übersetzt CONST/de&lt;br /&gt;
 Übersetzt COS/de&lt;br /&gt;
 COSH/de&lt;br /&gt;
 COUNTER0/de&lt;br /&gt;
 COUNTER1/de&lt;br /&gt;
 CPEEK/de&lt;br /&gt;
 CPEEKH/de&lt;br /&gt;
 CRC16/de&lt;br /&gt;
 CRC16UNI/de&lt;br /&gt;
 CRC32/de&lt;br /&gt;
 CRC8/de&lt;br /&gt;
 CRYSTAL/de&lt;br /&gt;
 Übersetzt CURSOR/de&lt;br /&gt;
 &lt;br /&gt;
 DATA/de&lt;br /&gt;
 DATE$/de&lt;br /&gt;
 DATE/de&lt;br /&gt;
 DAYOFWEEK/de&lt;br /&gt;
 DAYOFYEAR/de&lt;br /&gt;
 DBG/de&lt;br /&gt;
 DCF77TIMEZONE/de&lt;br /&gt;
 Übersetzt DEBOUNCE/de&lt;br /&gt;
 DEBUG/de&lt;br /&gt;
 DECLARE FUNCTION/de&lt;br /&gt;
 Übersetzt DECLARE SUB/de&lt;br /&gt;
 Übersetzt DECR/de&lt;br /&gt;
 Übersetzt DEFLCDCHAR/de&lt;br /&gt;
 DEFXXX/de&lt;br /&gt;
 DEG2RAD/de&lt;br /&gt;
 Übersetzt DELAY/de&lt;br /&gt;
 Übersetzt DELCHAR/de&lt;br /&gt;
 Übersetzt DELCHARS/de&lt;br /&gt;
 DIM/de&lt;br /&gt;
 DIR/de&lt;br /&gt;
 Übersetzt DISABLE/de&lt;br /&gt;
 DISKFREE/de&lt;br /&gt;
 DISKSIZE/de&lt;br /&gt;
 DISPLAY/de&lt;br /&gt;
 Übersetzt DO-LOOP/de&lt;br /&gt;
 DTMFOUT/de&lt;br /&gt;
 DriveCheck/de&lt;br /&gt;
 DriveGetIdentity/de&lt;br /&gt;
 DriveInit/de&lt;br /&gt;
 DriveReadSector/de&lt;br /&gt;
 DriveReset/de&lt;br /&gt;
 DriveWriteSector/de&lt;br /&gt;
&lt;br /&gt;
 ECHO/de&lt;br /&gt;
 ELSE/de&lt;br /&gt;
 Übersetzt ENABLE/de&lt;br /&gt;
 ENCODER/de&lt;br /&gt;
 Übersetzt END/de&lt;br /&gt;
 EOF/de&lt;br /&gt;
 EXIT/de&lt;br /&gt;
 EXP/de&lt;br /&gt;
 &lt;br /&gt;
 FILEATTR/de&lt;br /&gt;
 FILEDATE/de&lt;br /&gt;
 FILEDATETIME/de&lt;br /&gt;
 FILELEN/de&lt;br /&gt;
 FILETIME/de&lt;br /&gt;
 Übersetzt FIX/de&lt;br /&gt;
 FLUSH/de&lt;br /&gt;
 Übersetzt FOR-NEXT/de&lt;br /&gt;
 FORMAT/de&lt;br /&gt;
 Übersetzt FOURTHLINE/de&lt;br /&gt;
 Übersetzt FRAC/de&lt;br /&gt;
 FREEFILE/de&lt;br /&gt;
 FUSING/de&lt;br /&gt;
&lt;br /&gt;
 GET/de&lt;br /&gt;
 GETADC/de&lt;br /&gt;
 GETATKBD/de&lt;br /&gt;
 GETATKBDRAW/de&lt;br /&gt;
 GETDSTIP/de&lt;br /&gt;
 GETDSTPORT/de&lt;br /&gt;
 GETKBD/de&lt;br /&gt;
 GETRC/de&lt;br /&gt;
 GETRC5/de&lt;br /&gt;
 GETREG/de&lt;br /&gt;
 GETSOCKET/de&lt;br /&gt;
 GETTCPREGS/de&lt;br /&gt;
 GLCDCMD/de&lt;br /&gt;
 GLCDDATA/de&lt;br /&gt;
 Übersetzt GOSUB/de&lt;br /&gt;
 Übersetzt GOTO/de&lt;br /&gt;
 GRAY2BIN/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt HEX/de&lt;br /&gt;
 Übersetzt HEXVAL/de&lt;br /&gt;
 Übersetzt HIGH/de&lt;br /&gt;
 Übersetzt HIGHW/de&lt;br /&gt;
 Übersetzt HOME/de&lt;br /&gt;
 &lt;br /&gt;
 I2CINIT/de&lt;br /&gt;
 I2CRBYTE/de&lt;br /&gt;
 I2CRECEIVE/de&lt;br /&gt;
 I2CREPSTART/de&lt;br /&gt;
 I2CSEND/de&lt;br /&gt;
 I2CSTART/de&lt;br /&gt;
 I2CSTOP/de&lt;br /&gt;
 I2CWBYTE/de&lt;br /&gt;
 Übersetzt IDLE/de&lt;br /&gt;
 Übersetzt IF-THEN-ELSE-END IF/de&lt;br /&gt;
 Übersetzt INCR/de&lt;br /&gt;
 INITFILESYSTEM/de&lt;br /&gt;
 Übersetzt INITLCD/de&lt;br /&gt;
 Übersetzt INKEY/de&lt;br /&gt;
 INP/de&lt;br /&gt;
 INPUT/de&lt;br /&gt;
 INPUTBIN/de&lt;br /&gt;
 INPUTHEX/de&lt;br /&gt;
 INSERTCHAR/de&lt;br /&gt;
 INSTR/de&lt;br /&gt;
 Übersetzt INT/de&lt;br /&gt;
 IP2STR/de&lt;br /&gt;
 Übersetzt ISCHARWAITING/de&lt;br /&gt;
&lt;br /&gt;
 KILL/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt LCASE/de&lt;br /&gt;
 Übersetzt LCD/de&lt;br /&gt;
 Übersetzt LCDAT/de&lt;br /&gt;
 Übersetzt LCDAUTODIM/de&lt;br /&gt;
 Übersetzt LCDCMD/de&lt;br /&gt;
 Übersetzt LCDCONTRAST/de&lt;br /&gt;
 Übersetzt LCDDATA/de&lt;br /&gt;
 Übersetzt LEFT/de&lt;br /&gt;
 Übersetzt LEN/de&lt;br /&gt;
 Übersetzt LINE/de&lt;br /&gt;
 Übersetzt LINEINPUT/de&lt;br /&gt;
 ?? LINE INPUT/de&lt;br /&gt;
 Übersetzt LOAD/de&lt;br /&gt;
 Übersetzt LOADADR/de&lt;br /&gt;
 Übersetzt LOADLABEL/de&lt;br /&gt;
 Übersetzt LOADWORDADR/de&lt;br /&gt;
 Übersetzt LOC/de&lt;br /&gt;
 Übersetzt LOCAL/de&lt;br /&gt;
 Übersetzt LOCATE/de&lt;br /&gt;
 Übersetzt LOF/de&lt;br /&gt;
 Übersetzt LOG/de&lt;br /&gt;
 Übersetzt LOG10/de&lt;br /&gt;
 Übersetzt LOOKDOWN/de&lt;br /&gt;
 Übersetzt LOOKUP/de&lt;br /&gt;
 Übersetzt LOOKUPSTR/de&lt;br /&gt;
 Übersetzt LOW/de&lt;br /&gt;
 Übersetzt LOWERLINE/de&lt;br /&gt;
 Übersetzt LTRIM/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt MACRO/de&lt;br /&gt;
 Übersetzt MAKEBCD/de&lt;br /&gt;
 Übersetzt MAKEDEC/de&lt;br /&gt;
 Übersetzt MAKEINT/de&lt;br /&gt;
 MAKEMODBUS/de&lt;br /&gt;
 MAKETCP/de&lt;br /&gt;
 Übersetzt MAX/de&lt;br /&gt;
 MEMCOPY/de&lt;br /&gt;
 Übersetzt MID/de&lt;br /&gt;
 Übersetzt MIN/de&lt;br /&gt;
 MKDIR/de&lt;br /&gt;
 Übersetzt MOD/de&lt;br /&gt;
&lt;br /&gt;
 Übersetzt NBITS/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt ON INTERRUPT/de&lt;br /&gt;
 Übersetzt ON VALUE/de&lt;br /&gt;
 OPEN/de&lt;br /&gt;
 OUT/de&lt;br /&gt;
&lt;br /&gt;
 PEEK/de&lt;br /&gt;
 POKE/de&lt;br /&gt;
 POPALL/de&lt;br /&gt;
 POWER/de&lt;br /&gt;
 Übersetzt POWERDOWN/de&lt;br /&gt;
 Übersetzt POWERSAVE/de&lt;br /&gt;
 Übersetzt POWER MODE/de&lt;br /&gt;
 PRINT/de&lt;br /&gt;
 PRINTBIN/de&lt;br /&gt;
 PS2MOUSEXY/de&lt;br /&gt;
 PSET/de&lt;br /&gt;
 PULSEIN/de&lt;br /&gt;
 PULSEOUT/de&lt;br /&gt;
 PUSHALL/de&lt;br /&gt;
 PUT/de&lt;br /&gt;
&lt;br /&gt;
 QUOTE/de&lt;br /&gt;
 &lt;br /&gt;
 RAD2DEG/de&lt;br /&gt;
 RC5SEND/de&lt;br /&gt;
 RC5SENDEXT/de&lt;br /&gt;
 RC6SEND/de&lt;br /&gt;
 READ/de&lt;br /&gt;
 Übersetzt READEEPROM/de&lt;br /&gt;
 READHITAG/de&lt;br /&gt;
 READMAGCARD/de&lt;br /&gt;
 READSIG/de&lt;br /&gt;
 Übersetzt REM/de&lt;br /&gt;
 REPLACECHARS/de&lt;br /&gt;
 Übersetzt RESET/de&lt;br /&gt;
 Übersetzt RESTORE/de&lt;br /&gt;
 Übersetzt RETURN/de&lt;br /&gt;
 Übersetzt RIGHT/de&lt;br /&gt;
 RMDIR/de&lt;br /&gt;
 RND/de&lt;br /&gt;
 ROTATE/de&lt;br /&gt;
 Übersetzt ROUND/de&lt;br /&gt;
 RTRIM/de&lt;br /&gt;
 &lt;br /&gt;
 SECELAPSED/de&lt;br /&gt;
 SECOFDAY/de&lt;br /&gt;
 SEEK/de&lt;br /&gt;
 SELECT-CASE-END SELECT/de&lt;br /&gt;
 SENDSCAN/de&lt;br /&gt;
 SENDSCANKBD/de&lt;br /&gt;
 SERIN/de&lt;br /&gt;
 SEROUT/de&lt;br /&gt;
 Übersetzt SET/de&lt;br /&gt;
 SETFONT/de&lt;br /&gt;
 SETIPPROTOCOL/de&lt;br /&gt;
 SETREG/de&lt;br /&gt;
 SETTCP/de&lt;br /&gt;
 SETTCPREGS/de&lt;br /&gt;
 Übersetzt SGN/de&lt;br /&gt;
 SHIFT/de&lt;br /&gt;
 SHIFTCURSOR/de&lt;br /&gt;
 SHIFTIN/de&lt;br /&gt;
 SHIFTLCD/de&lt;br /&gt;
 SHIFTOUT/de&lt;br /&gt;
 SHOWPIC/de&lt;br /&gt;
 SHOWPICE/de&lt;br /&gt;
 Übersetzt SIN/de&lt;br /&gt;
 SINH/de&lt;br /&gt;
 SNTP/de&lt;br /&gt;
 SOCKETCLOSE/de&lt;br /&gt;
 SOCKETCONNECT/de&lt;br /&gt;
 SOCKETDISCONNECT/de&lt;br /&gt;
 SOCKETLISTEN/de&lt;br /&gt;
 SOCKETSTAT/de&lt;br /&gt;
 SONYSEND/de&lt;br /&gt;
 Übersetzt SORT/de&lt;br /&gt;
 Übersetzt SOUND/de&lt;br /&gt;
 Übersetzt SPACE/de&lt;br /&gt;
 Übersetzt SPC/de&lt;br /&gt;
 SPIIN/de&lt;br /&gt;
 SPIINIT/de&lt;br /&gt;
 SPIMOVE/de&lt;br /&gt;
 SPIOUT/de&lt;br /&gt;
 Übersetzt SPLIT/de&lt;br /&gt;
 Übersetzt SQR/de&lt;br /&gt;
 Übersetzt START/de&lt;br /&gt;
 STCHECK/de&lt;br /&gt;
 Übersetzt STOP/de&lt;br /&gt;
 Übersetzt STR/de&lt;br /&gt;
 STR2DIGITS/de&lt;br /&gt;
 Übersetzt STRING/de&lt;br /&gt;
 Übersetzt SUB/de&lt;br /&gt;
 SWAP/de&lt;br /&gt;
 SYSDAY/de&lt;br /&gt;
 SYSSEC/de&lt;br /&gt;
 SYSSECELAPSED/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt TAN/de&lt;br /&gt;
 TANH/de&lt;br /&gt;
 TCPCHECKSUM/de&lt;br /&gt;
 TCPREAD/de&lt;br /&gt;
 TCPREADHEADER/de&lt;br /&gt;
 TCPWRITE/de&lt;br /&gt;
 TCPWRITESTR/de&lt;br /&gt;
 Übersetzt THIRDLINE/de&lt;br /&gt;
 TIME$/de&lt;br /&gt;
 TIME/de&lt;br /&gt;
 Übersetzt TOGGLE/de&lt;br /&gt;
 TRIM/de&lt;br /&gt;
 &lt;br /&gt;
 UCASE/de&lt;br /&gt;
 UDPREAD/de&lt;br /&gt;
 UDPREADHEADER/de&lt;br /&gt;
 UDPWRITE/de&lt;br /&gt;
 UDPWRITESTR/de&lt;br /&gt;
 Übersetzt UPPERLINE/de&lt;br /&gt;
 Übersetzt VAL/de&lt;br /&gt;
 VARPTR/de&lt;br /&gt;
 VER/de&lt;br /&gt;
 VERSION/de&lt;br /&gt;
 &lt;br /&gt;
 Übersetzt WAIT/de&lt;br /&gt;
 Übersetzt WAITKEY/de&lt;br /&gt;
 Übersetzt WAITMS/de&lt;br /&gt;
 Übersetzt WAITUS/de&lt;br /&gt;
 Übersetzt WHILE-WEND/de&lt;br /&gt;
 WRITE/de&lt;br /&gt;
 Übersetzt WRITEEEPROM/de&lt;br /&gt;
&lt;br /&gt;
 X10DETECT/de&lt;br /&gt;
 X10SEND/de&lt;br /&gt;
 XTEADECODE/de&lt;br /&gt;
 XTEAENCODE/de&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_INTERRUPT/de</id>
		<title>ON INTERRUPT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_INTERRUPT/de"/>
				<updated>2013-03-17T22:57:27Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Partial Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Führt die Subroutine aus wenn der angegebene Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;interrupt label [NOSAVE|SAVE|SAVEALL]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;577&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
interrupt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INT0, INT1, INT2, INT3, INT4,INT5, TIMER0 ,TIMER1, TIMER2, ADC , EEPROM , CAPTURE1, COMPARE1A, COMPARE1B,COMPARE1. Man kann auch die AVR Namenskonventionen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OC2 , OVF2, ICP1, OC1A, OC1B, OVF1, OVF0, SPI, URXC,&lt;br /&gt;
&lt;br /&gt;
UDRE, UTXC, ADCC, ERDY and ACI.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label, zu dem gesprungen werden soll wenn der Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOSAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wenn man NOSAVE angibt dann werden&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;keine&amp;lt;/span&amp;gt;&amp;amp;nbsp;Register bei Aufruf/Verlassen der Interruptroutine gesichert/wiederhergestellt. Wenn Sie diese Option benutzen dann müssen Sie selbst die benutzten Register sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie NOSAVE nicht schreiben dann werden alle benutzten Register gesichert. Das sind:&lt;br /&gt;
 SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R12 – R15 werden nicht gesichert. Wenn in der Interruptroutine Fließkommaarithmetik benutzt wird (was nicht empfohlen wird) dann müssen Sie R12 bis R15 selbst sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
My_Isr:&lt;br /&gt;
&lt;br /&gt;
Push R12 ' Register sichern&lt;br /&gt;
&lt;br /&gt;
Push R13&lt;br /&gt;
&lt;br /&gt;
Push R14&lt;br /&gt;
&lt;br /&gt;
Push R15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Single = single + 1 ' Fließkommaarithmetik wird benutzt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pop R15 &amp;amp;nbsp;' Register wiederherstellen&lt;br /&gt;
&lt;br /&gt;
Pop R14&lt;br /&gt;
&lt;br /&gt;
Pop R13&lt;br /&gt;
&lt;br /&gt;
Pop R12&lt;br /&gt;
&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]Wenn der Mikrocontroller Extendet IO-Space hat (wie zum Beispiel ATmega48, 88, 168, siehe Datenblatt am Ende: Registersummary) dann benutzt der Compiler R23 für einige Operationen. R23 muss dann auch gesichert/wiederhergestellt werden.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies ist der Standardwert wenn kein Parameter angegeben wird. Die gebräuchlichsten benutzten Register, &lt;br /&gt;
SREG und RAMPZ werden gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Gesichert: SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
Wenn RAMPZ vorhanden ist dann wird es auch gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVEALL&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies sichert alle Register, die auch SAVE sichert und zusätzlich noch R12-R15. Man sollte diese Option benutzen wenn man Gleitkommaarithmetik in der Interruptroutine benutzt.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aus der Interrupt-Routine muss man mit dem RETURN-Befehl zurückkehren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste RETURN-Befehl der außerhalb einer Abfrage angetroffen wird generiert eine RETI Instruktion. Man kann nur einen solchen RETURN-Befehl in der ISR haben weil der Compiler die Register wiederherstellt und eine RETI-Instruktion erzeugt wenn es auf das RETURN in der ISR stößt. Alle anderen RETURN-Befehle werden in eine RET-Instruktion umgewandelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die möglichen Interrupt-Namen können in der Register-Datei des benutzten Mikrocontrollers nachgelesen werden. Die Datei 2313def.dat zeigt zum Beispiel, dass der Name für den Compare-Interrupt den Namen COMPARE1 hat. Siehe am unteren Enede der Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wofür gibt es Interrupt Service Routinen?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Interrupt unterbricht das Programm und springt zu der angegebenen Routine. &lt;br /&gt;
MAn kann eine DO..LOOP Schleife schreiben und zum Beispiel den Stus eines Eingabepins abfragen um eine Routine anzuspringen wenn der Zustand des Pins sich ändert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Verwendung eines Interrupts kann man andere Ausgaben ausführen und wenn der Zustand des Pins sich ändert dann wird ein bestimmter Programmteil angesprungen.&lt;br /&gt;
Wenn man zum Beispiel INPUT &amp;quot;Name &amp;quot;, v benutzt um einen Usernamen über die serielle Schnittstelle einzulesen dann wird gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
Wenn man eine Interruptroutine hat und der Interrupt tritt ein dann wird der Interrupt-Code ausgeführt und wenn er beendet ist dann wird zu dem Input-Befehl zurückgekehrt und gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist ein Uhrenprogramm ein besseres Beispiel. Man könnte einen Sekundenzähler im Programm hochzählen aber es ist besser, einen Timer zu benutzen und einen Sekundenzähler in der Interruptroutine des Timers hochzuzählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Interrupt-Quellen und es hängt vom verwendeten Mikrocontroller ab welche jeweils vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Interrupts benutzen zu können muss der globale Interrupt-Schalter mit ENABLE INTERRUPTS eingeschaltet werden. Nur dann können Interrupts benutzt werden. Außerdem müssen die jeweiligen individuellen Interrupt-Schalter eingeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ENABLE TIMER0 zum Beispiel erlaubt es, dass TIMER0 Interrupts auftreten können.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem DISABLE-Befehl können die Schalter ausgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Prozessor einen Interrupt verarbeiten muss dann springt er an eine Adresse am Anfang des Flash-Speichers. Die Adressen stehen in der DAT-Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Compiler erzeugt normalerweise eine RETI-Instruktion zu diesen Adressen so dass im Falle eines Interrupt-Ereignisses sofort zurückgekehrt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man ON..LABEL benutzt dann erzeugt der Compiler Code, der zu dem angegebenen Label springt. DAS SREG und andere Register werden gesichert und wenn RETURN erreicht wird werde die Register wieder hergestellt und ein RETI erzeugt so dass das Programm dort fortgesetzt wird wo es war als der Interrupt aufgetreten war.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn eine Interruptroutine ausgeführt wird dan können keine anderen Interrupts auftreten weil der Prozessor (nicht der Compiler) alles Interrupts DISABLEd indem das MASTER Interrupt Bit gelöscht wird. &lt;br /&gt;
Nach Abarbeitung der Serviceroutine werden die Interrupts wieder eingeschaltet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist nicht möglich, Interrupts eine Priorität zu vergeben. Der Interrupt mit der niedrigsten Adresse hat die höchste Priorität.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Schluss ein paar Tipps&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie einen Timer-Interrupt haben der alle 10 uS auftritt dann stellen Sie sicher, dass der Interrupt-Code in 10 uS ausgeführt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Es ist am besten, in der Interruptroutine nur ein Flag zu setzen und dessen Status im Hauptprogramm abzufragen. Dies ermöglicht die Benutzung der NOSAVE Option die Stack- und Programmplatz spart. Man muss dann nur R24 und SREG sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Weil man ein Hardware-Register nicht PUSHen kann muss man es erst laden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Weil wir R24 benutzen werden sichern wir es lieber&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IN r24, SREG&amp;amp;nbsp;; Inhalt von SREG in R24&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Man kann ein Register sichern&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;hier steht Ihr Assembler-Code&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;;Inhalt von SREG zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OUT SREG, R24&amp;amp;nbsp;; In SREG sichern&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;; r24 zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON VALUE|On VALUE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Teilbeispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
Enable Int0 'Int0 Interrupt einschalten&lt;br /&gt;
On Int0 Label2 Nosave 'Sprung zu label2 wenn INT0 auftritt&lt;br /&gt;
Do'Endlosschleife&lt;br /&gt;
nop&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
Label2:&lt;br /&gt;
Dim A As Byte&lt;br /&gt;
If A &amp;gt; 1 Then&lt;br /&gt;
Return 'generiert ein RET weil es in der Abfrage ist&lt;br /&gt;
End If&lt;br /&gt;
Return 'generiert ein RETI weil es das erste RETURN ist&lt;br /&gt;
Return 'generiert ein RET weil es das zweite RETURN ist&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_INTERRUPT/de</id>
		<title>ON INTERRUPT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_INTERRUPT/de"/>
				<updated>2013-03-17T22:53:48Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Führt die Subroutine aus wenn der angegebene Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;interrupt label [NOSAVE|SAVE|SAVEALL]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;577&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
interrupt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INT0, INT1, INT2, INT3, INT4,INT5, TIMER0 ,TIMER1, TIMER2, ADC , EEPROM , CAPTURE1, COMPARE1A, COMPARE1B,COMPARE1. Man kann auch die AVR Namenskonventionen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OC2 , OVF2, ICP1, OC1A, OC1B, OVF1, OVF0, SPI, URXC,&lt;br /&gt;
&lt;br /&gt;
UDRE, UTXC, ADCC, ERDY and ACI.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label, zu dem gesprungen werden soll wenn der Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOSAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wenn man NOSAVE angibt dann werden&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;keine&amp;lt;/span&amp;gt;&amp;amp;nbsp;Register bei Aufruf/Verlassen der Interruptroutine gesichert/wiederhergestellt. Wenn Sie diese Option benutzen dann müssen Sie selbst die benutzten Register sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie NOSAVE nicht schreiben dann werden alle benutzten Register gesichert. Das sind:&lt;br /&gt;
 SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R12 – R15 werden nicht gesichert. Wenn in der Interruptroutine Fließkommaarithmetik benutzt wird (was nicht empfohlen wird) dann müssen Sie R12 bis R15 selbst sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
My_Isr:&lt;br /&gt;
&lt;br /&gt;
Push R12 ' Register sichern&lt;br /&gt;
&lt;br /&gt;
Push R13&lt;br /&gt;
&lt;br /&gt;
Push R14&lt;br /&gt;
&lt;br /&gt;
Push R15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Single = single + 1 ' Fließkommaarithmetik wird benutzt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pop R15 &amp;amp;nbsp;' Register wiederherstellen&lt;br /&gt;
&lt;br /&gt;
Pop R14&lt;br /&gt;
&lt;br /&gt;
Pop R13&lt;br /&gt;
&lt;br /&gt;
Pop R12&lt;br /&gt;
&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]Wenn der Mikrocontroller Extendet IO-Space hat (wie zum Beispiel ATmega48, 88, 168, siehe Datenblatt am Ende: Registersummary) dann benutzt der Compiler R23 für einige Operationen. R23 muss dann auch gesichert/wiederhergestellt werden.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies ist der Standardwert wenn kein Parameter angegeben wird. Die gebräuchlichsten benutzten Register, &lt;br /&gt;
SREG und RAMPZ werden gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Gesichert: SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
Wenn RAMPZ vorhanden ist dann wird es auch gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVEALL&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies sichert alle Register, die auch SAVE sichert und zusätzlich noch R12-R15. Man sollte diese Option benutzen wenn man Gleitkommaarithmetik in der Interruptroutine benutzt.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aus der Interrupt-Routine muss man mit dem RETURN-Befehl zurückkehren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste RETURN-Befehl der außerhalb einer Abfrage angetroffen wird generiert eine RETI Instruktion. Man kann nur einen solchen RETURN-Befehl in der ISR haben weil der Compiler die Register wiederherstellt und eine RETI-Instruktion erzeugt wenn es auf das RETURN in der ISR stößt. Alle anderen RETURN-Befehle werden in eine RET-Instruktion umgewandelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die möglichen Interrupt-Namen können in der Register-Datei des benutzten Mikrocontrollers nachgelesen werden. Die Datei 2313def.dat zeigt zum Beispiel, dass der Name für den Compare-Interrupt den Namen COMPARE1 hat. Siehe am unteren Enede der Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wofür gibt es Interrupt Service Routinen?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Interrupt unterbricht das Programm und springt zu der angegebenen Routine. &lt;br /&gt;
MAn kann eine DO..LOOP Schleife schreiben und zum Beispiel den Stus eines Eingabepins abfragen um eine Routine anzuspringen wenn der Zustand des Pins sich ändert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Verwendung eines Interrupts kann man andere Ausgaben ausführen und wenn der Zustand des Pins sich ändert dann wird ein bestimmter Programmteil angesprungen.&lt;br /&gt;
Wenn man zum Beispiel INPUT &amp;quot;Name &amp;quot;, v benutzt um einen Usernamen über die serielle Schnittstelle einzulesen dann wird gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
Wenn man eine Interruptroutine hat und der Interrupt tritt ein dann wird der Interrupt-Code ausgeführt und wenn er beendet ist dann wird zu dem Input-Befehl zurückgekehrt und gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist ein Uhrenprogramm ein besseres Beispiel. Man könnte einen Sekundenzähler im Programm hochzählen aber es ist besser, einen Timer zu benutzen und einen Sekundenzähler in der Interruptroutine des Timers hochzuzählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Interrupt-Quellen und es hängt vom verwendeten Mikrocontroller ab welche jeweils vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Interrupts benutzen zu können muss der globale Interrupt-Schalter mit ENABLE INTERRUPTS eingeschaltet werden. Nur dann können Interrupts benutzt werden. Außerdem müssen die jeweiligen individuellen Interrupt-Schalter eingeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ENABLE TIMER0 zum Beispiel erlaubt es, dass TIMER0 Interrupts auftreten können.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem DISABLE-Befehl können die Schalter ausgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Prozessor einen Interrupt verarbeiten muss dann springt er an eine Adresse am Anfang des Flash-Speichers. Die Adressen stehen in der DAT-Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Compiler erzeugt normalerweise eine RETI-Instruktion zu diesen Adressen so dass im Falle eines Interrupt-Ereignisses sofort zurückgekehrt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man ON..LABEL benutzt dann erzeugt der Compiler Code, der zu dem angegebenen Label springt. DAS SREG und andere Register werden gesichert und wenn RETURN erreicht wird werde die Register wieder hergestellt und ein RETI erzeugt so dass das Programm dort fortgesetzt wird wo es war als der Interrupt aufgetreten war.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn eine Interruptroutine ausgeführt wird dan können keine anderen Interrupts auftreten weil der Prozessor (nicht der Compiler) alles Interrupts DISABLEd indem das MASTER Interrupt Bit gelöscht wird. &lt;br /&gt;
Nach Abarbeitung der Serviceroutine werden die Interrupts wieder eingeschaltet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist nicht möglich, Interrupts eine Priorität zu vergeben. Der Interrupt mit der niedrigsten Adresse hat die höchste Priorität.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Schluss ein paar Tipps&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie einen Timer-Interrupt haben der alle 10 uS auftritt dann stellen Sie sicher, dass der Interrupt-Code in 10 uS ausgeführt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Es ist am besten, in der Interruptroutine nur ein Flag zu setzen und dessen Status im Hauptprogramm abzufragen. Dies ermöglicht die Benutzung der NOSAVE Option die Stack- und Programmplatz spart. Man muss dann nur R24 und SREG sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Weil man ein Hardware-Register nicht PUSHen kann muss man es erst laden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Weil wir R24 benutzen werden sichern wir es lieber&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IN r24, SREG&amp;amp;nbsp;; Inhalt von SREG in R24&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Man kann ein Register sichern&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;hier steht Ihr Assembler-Code&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;;Inhalt von SREG zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OUT SREG, R24&amp;amp;nbsp;; In SREG sichern&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;; r24 zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON VALUE|On VALUE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Partial Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
Enable Int0 'enable the interrupt&lt;br /&gt;
On Int0 Label2 Nosave 'jump to label2 on INT0&lt;br /&gt;
Do'endless loop&lt;br /&gt;
nop&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
Label2:&lt;br /&gt;
Dim A As Byte&lt;br /&gt;
If A &amp;gt; 1 Then&lt;br /&gt;
Return 'generates a RET because it is inside a condition&lt;br /&gt;
End If&lt;br /&gt;
Return 'generates a RETI because it is the first RETURN&lt;br /&gt;
Return 'generates a RET because it is the second RETURN&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_INTERRUPT/de</id>
		<title>ON INTERRUPT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_INTERRUPT/de"/>
				<updated>2013-03-17T22:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Führt die Subroutine aus wenn der angegebene Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;interrupt label [NOSAVE|SAVE|SAVEALL]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;577&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
interrupt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INT0, INT1, INT2, INT3, INT4,INT5, TIMER0 ,TIMER1, TIMER2, ADC , EEPROM , CAPTURE1, COMPARE1A, COMPARE1B,COMPARE1. Man kann auch die AVR Namenskonventionen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OC2 , OVF2, ICP1, OC1A, OC1B, OVF1, OVF0, SPI, URXC,&lt;br /&gt;
&lt;br /&gt;
UDRE, UTXC, ADCC, ERDY and ACI.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label, zu dem gesprungen werden soll wenn der Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOSAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Wenn man NOSAVE angibt dann werden&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;keine&amp;lt;/span&amp;gt;&amp;amp;nbsp;Register bei Aufruf/Verlassen der Interruptroutine gesichert/wiederhergestellt. Wenn Sie diese Option benutzen dann müssen Sie selbst die benutzten Register sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn Sie NOSAVE nicht schreiben dann werden alle benutzten Register gesichert. Das sind:&lt;br /&gt;
 SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R12 – R15 werden nicht gesichert. Wenn in der Interruptroutine Fließkommaarithmetik benutzt wird (was nicht empfohlen wird) dann müssen Sie R12 bis R15 selbst sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
My_Isr:&lt;br /&gt;
&lt;br /&gt;
Push R12 ' Register sichern&lt;br /&gt;
&lt;br /&gt;
Push R13&lt;br /&gt;
&lt;br /&gt;
Push R14&lt;br /&gt;
&lt;br /&gt;
Push R15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Single = single + 1 ' Fließkommaarithmetik wird benutzt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pop R15 &amp;amp;nbsp;' Register wiederherstellen&lt;br /&gt;
&lt;br /&gt;
Pop R14&lt;br /&gt;
&lt;br /&gt;
Pop R13&lt;br /&gt;
&lt;br /&gt;
Pop R12&lt;br /&gt;
&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]Wenn der Mikrocontroller Extendet IO-Space hat (wie zum Beispiel ATmega48, 88, 168, siehe Datenblatt am Ende: Registersummary) dann benutzt der Compiler R23 für einige Operationen. R23 muss dann auch gesichert/wiederhergestellt werden.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies ist der Standardwert wenn kein Parameter angegeben wird. Die gebräuchlichsten benutzten Register, &lt;br /&gt;
SREG und RAMPZ werden gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Gesichert: SREG , R31 bis R16 und R11 bis R0 mit Ausnahme von R6,R8 und R9.&lt;br /&gt;
&lt;br /&gt;
Wenn RAMPZ vorhanden ist dann wird es auch gesichert und wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVEALL&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Dies sichert alle Register, die auch SAVE sichert und zusätzlich noch R12-R15. Man sollte diese Option benutzen wenn man Gleitkommaarithmetik in der Interruptroutine benutzt.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aus der Interrupt-Routine muss man mit dem RETURN-Befehl zurückkehren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste RETURN-Befehl der außerhalb einer Abfrage angetroffen wird generiert eine RETI Instruktion. Man kann nur einen solchen RETURN-Befehl in der ISR haben weil der Compiler die Register wiederherstellt und eine RETI-Instruktion erzeugt wenn es auf das RETURN in der ISR stößt. Alle anderen RETURN-Befehle werden in eine RET-Instruktion umgewandelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die möglichen Interrupt-Namen können in der Register-Datei des benutzten Mikrocontrollers nachgelesen werden. Die Datei 2313def.dat zeigt zum Beispiel, dass der Name für den Compare-Interrupt den Namen COMPARE1 hat. Siehe am unteren Enede der Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wofür gibt es Interrupt Service Routinen?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Interrupt unterbricht das Programm und springt zu der angegebenen Routine. &lt;br /&gt;
MAn kann eine DO..LOOP Schleife schreiben und zum Beispiel den Stus eines Eingabepins abfragen um eine Routine anzuspringen wenn der Zustand des Pins sich ändert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Verwendung eines Interrupts kann man andere Ausgaben ausführen und wenn der Zustand des Pins sich ändert dann wird ein bestimmter Programmteil angesprungen.&lt;br /&gt;
Wenn man zum Beispiel INPUT &amp;quot;Name &amp;quot;, v benutzt um einen Usernamen über die serielle Schnittstelle einzulesen dann wird gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
Wenn man eine Interruptroutine hat und der Interrupt tritt ein dann wird der Interrupt-Code ausgeführt und wenn er beendet ist dann wird zu dem Input-Befehl zurückgekehrt und gewartet bis ein RETURN empfangen wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist ein Uhrenprogramm ein besseres Beispiel. Man könnte einen Sekundenzähler im Programm hochzählen aber es ist besser, einen Timer zu benutzen und einen Sekundenzähler in der Interruptroutine des Timers hochzuzählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Interrupt-Quellen und es hängt vom verwendeten Mikrocontroller ab welche jeweils vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Interrupts benutzen zu können muss der globale Interrupt-Schalter mit ENABLE INTERRUPTS eingeschaltet werden. Nur dann können Interrupts benutzt werden. Außerdem müssen die jeweiligen individuellen Interrupt-Schalter eingeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ENABLE TIMER0 zum Beispiel erlaubt es, dass TIMER0 Interrupts auftreten können.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem DISABLE-Befehl können die Schalter ausgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Prozessor einen Interrupt verarbeiten muss dann springt er an eine Adresse am Anfang des Flash-Speichers. Die Adressen stehen in der DAT-Datei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Compiler erzeugt normalerweise eine RETI-Instruktion zu diesen Adressen so dass im Falle eines Interrupt-Ereignisses sofort zurückgekehrt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man ON..LABEL benutzt dann erzeugt der Compiler Code, der zu dem angegebenen Label springt. DAS SREG und andere Register werden gesichert und wenn RETURN erreicht wird werde die Register wieder hergestellt und ein RETI erzeugt so dass das Programm dort fortgesetzt wird wo es war als der Interrupt aufgetreten war.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn eine Interruptroutine ausgeführt wird dan können keine anderen Interrupts auftreten weil der Prozessor (nicht der Compiler) alles Interrupts DISABLEd indem das MASTER Interrupt Bit gelöscht wird. &lt;br /&gt;
Nach Abarbeitung der Serviceroutine werden die Interrupts wieder eingeschaltet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist nicht möglich, Interrupts eine Priorität zu vergeben. Der Interrupt mit der niedrigsten Adresse hat die höchste Priorität.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Schluss ein paar Tipps&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie einen Timer-Interrupt haben der alle 10 uS auftritt dann stellen Sie sicher, dass der Interrupt-Code in 10 uS ausgeführt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Es ist am besten, in der Interruptroutine nur ein Flag zu setzen und dessen Status im Hauptprogramm abzufragen. Dies ermöglicht die Benutzung der NOSAVE Option die Stack- und Programmplatz spart. Man muss dann nur R24 und SREG sichern und wiederherstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Weil man ein Hardware-Register nicht PUSHen kann muss man es erst laden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Weil wir R24 benutzen werden sichern wir es lieber&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IN r24, SREG&amp;amp;nbsp;; Inhalt von SREG in R24&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; Man kann ein Register sichern&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;hier steht Ihr Assembler-Code&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;;Inhalt von SREG zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OUT SREG, R24&amp;amp;nbsp;; In SREG sichern&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;; r24 zurück&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON VALUE|On VALUE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Partial Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
Enable Int0 'enable the interrupt&lt;br /&gt;
On Int0 Label2 Nosave 'jump to label2 on INT0&lt;br /&gt;
Do'endless loop&lt;br /&gt;
nop&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
Label2:&lt;br /&gt;
Dim A As Byte&lt;br /&gt;
If A &amp;gt; 1 Then&lt;br /&gt;
Return 'generates a RET because it is inside a condition&lt;br /&gt;
End If&lt;br /&gt;
Return 'generates a RETI because it is the first RETURN&lt;br /&gt;
Return 'generates a RET because it is the second RETURN&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_INTERRUPT/de</id>
		<title>ON INTERRUPT/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_INTERRUPT/de"/>
				<updated>2013-03-17T21:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* (**COPIED FROM ENGLISH PAGE**) = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Führt die Subroutine aus wenn der angegebene Interrupt auftritt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;interrupt label [NOSAVE|SAVE|SAVEALL]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;577&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Interrupt&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INT0, INT1, INT2, INT3, INT4,INT5, TIMER0 ,TIMER1, TIMER2, ADC , EEPROM , CAPTURE1, COMPARE1A, COMPARE1B,COMPARE1. Or you can use the AVR&lt;br /&gt;
&lt;br /&gt;
name convention:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OC2 , OVF2, ICP1, OC1A, OC1B, OVF1, OVF0, SPI, URXC,&lt;br /&gt;
&lt;br /&gt;
UDRE, UTXC, ADCC, ERDY and ACI.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The label to jump to if the interrupt occurs.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NOSAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
When you specify NOSAVE,&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;&amp;amp;nbsp;registers are saved and restored in the interrupt routine. So when you use this option make sure to save and restore all used registers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you omit NOSAVE all used registers will be saved. These are SREG , R31 to R16 and R11 to R0 with exception of R6,R8 and R9 .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R12 – R15 are not saved. When you use floating point math in the ISR(not recommended) you must save and restore R12-R15 yourself in the ISR.&lt;br /&gt;
&lt;br /&gt;
My_Isr:&lt;br /&gt;
&lt;br /&gt;
Push R12 ' save registers&lt;br /&gt;
&lt;br /&gt;
Push R13&lt;br /&gt;
&lt;br /&gt;
Push R14&lt;br /&gt;
&lt;br /&gt;
Push R15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Single = single + 1 ' we use FP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pop R15 &amp;amp;nbsp;' restore registers&lt;br /&gt;
&lt;br /&gt;
Pop R14&lt;br /&gt;
&lt;br /&gt;
Pop R13&lt;br /&gt;
&lt;br /&gt;
Pop R12&lt;br /&gt;
&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]When the AVR has extended IO-space (for example ATMega48, 88 or 168, see datasheet at the end: Registersummary), the compiler uses&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;R23&amp;lt;/span&amp;gt;for a number of operations. &amp;amp;nbsp;So Push and Pop R23 as well when using the NOSAVE-option when using these AVR's with extended IO-space.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
This is the default and is the same as when no parameter is provided. The most common used registers, SREG, and RAMPZ are saved and restored.&lt;br /&gt;
&lt;br /&gt;
Saved&amp;amp;nbsp;: SREG , R31 to R16 and R11 to R0 with exception of R6,R8 and R9.&lt;br /&gt;
&lt;br /&gt;
If RAMPZ exists, it will be saved as well.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SAVEALL&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
This will save all registers that SAVE will save, but it will also save R12-R15. You should use this option when using floating point math in the ISR.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must return from the interrupt routine with the RETURN statement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first RETURN statement that is encountered that is outside a condition will generate a RETI instruction. You may have only one such RETURN statement in your interrupt routine because the compiler restores the registers and generates a RETI instruction when it encounters a RETURN statement in the ISR. All other RETURN statements are converted to a RET instruction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The possible interrupt names can be looked up in the selected microprocessor register file. 2313def.dat for example shows that for the compare interrupt the name is COMPARE1. (look at the bottom of the file)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What are interrupts good for?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An interrupt will halt your program and will jump to a specific part of your program. You can make a DO .. LOOP and poll the status of a pin for example to execute some code when the input on a pin changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But with an interrupt you can perform other tasks and when then pin input changes a special part of your program will be executed. When you use INPUT &amp;quot;Name &amp;quot;, v for example to get a user name via the RS-232 interface it will wait until a RETURN is received. When you have an interrupt routine and the interrupt occurs it will branch to the interrupt code and will execute the interrupt code. When it is finished it will return to the Input statement, waiting until a RETURN is entered.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maybe a better example is writing a clock program. You could update a variable in your program that updates a second counter. But a better way is to use a TIMER interrupt and update a seconds variable in the TIMER interrupt handler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are multiple interrupt sources and it depends on the used chip which are available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow the use of interrupts you must set the global interrupt switch with a ENABLE INTERRUPTS statement. This only allows that interrupts can be used. You must also set the individual interrupt switches on!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ENABLE TIMER0 for example allows the TIMER0 interrupt to occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the DISABLE statement you turn off the switches.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the processor must handle an interrupt it will branch to an address at the start of flash memory. These addresses can be found in the DAT files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The compiler normally generates a RETI instruction on these addresses so that in the event that an interrupt occurs, it will return immediately.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you use the ON ... LABEL statement, the compiler will generate code that jumps to the specified label. The SREG and other registers are saved at the LABEL location and when the RETURN is found the compiler restores the registers and generates the RETI so that the program will continue where it was at the time the interrupt occurred.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When an interrupt is services no other interrupts can occur because the processor(not the compiler) will disable all interrupts by clearing the master interrupt enable bit. When the interrupt is services the interrupt is also cleared so that it can occur again when the conditions are met that sets the interrupt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to give interrupts a priority. The interrupt with the lowest address has the highest interrupt!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally some tips&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*when you use a timer interrupt that occurs each 10 uS for example, be sure that the interrupt code can execute in 10 uS. Otherwise you would loose time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*it is best to set just a simple flag in the interrupt routine and to determine it's status in the main program. This allows you to use the NOSAVE option that saves stack space and program space. You only have to Save and Restore R24 and SREG in that case.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Since you can not PUSH a hardware register, you need to load it first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; since we are going to use R24 we better save it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IN r24, SREG&amp;amp;nbsp;; get content of SREG into R24&lt;br /&gt;
&lt;br /&gt;
PUSH R24&amp;amp;nbsp;; we can save a register&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;here goes your asm code&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;;get content of SREG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OUT SREG, R24&amp;amp;nbsp;; save into SREG&lt;br /&gt;
&lt;br /&gt;
POP R24&amp;amp;nbsp;; get r24 back&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON VALUE|On VALUE]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Partial Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
Enable Int0 'enable the interrupt&lt;br /&gt;
On Int0 Label2 Nosave 'jump to label2 on INT0&lt;br /&gt;
Do'endless loop&lt;br /&gt;
nop&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
Label2:&lt;br /&gt;
Dim A As Byte&lt;br /&gt;
If A &amp;gt; 1 Then&lt;br /&gt;
Return 'generates a RET because it is inside a condition&lt;br /&gt;
End If&lt;br /&gt;
Return 'generates a RETI because it is the first RETURN&lt;br /&gt;
Return 'generates a RET because it is the second RETURN&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_VALUE/de</id>
		<title>ON VALUE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_VALUE/de"/>
				<updated>2013-03-17T20:58:09Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Verzweigung zu einem von mehreren angegebenen Labels in Abhängigkeit des Wertes einer Variablen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;var [GOTO] [GOSUB] label1 [, label2 ] [,CHECK]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;515&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die zu prüfende numerische Variable.&lt;br /&gt;
&lt;br /&gt;
Kann auch ein SFR wie zum Beispiel PORTB sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label1, label2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label (Sprungmarken) zu denen je nach Wert der Variablen gesprungen werden soll.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CHECK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale Prüfung der Anzahl der Sprungmarken.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzweigung erfolg nullbasiert. Wenn der Wert also Null ist dann wird zur ersten angegebenen Sprungmarke verzweigt.&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig, dass es zu jedem möglichen Wert eine zugehörige Sprungmarke gibt.&lt;br /&gt;
&lt;br /&gt;
Wenn nicht genügend Sprungmarken vorhanden sind dann läuft der Stack über.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
ON value label1, label2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn value = 2 dann gibt es keine zugehörige Sprungmarke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den optionalen CHECK Parameter benutzt dann wird geprüft ob genügend viele Sprungmarken vorhanden sind und wenn das nicht der Fall ist dann wird kein GOTO oder GOSUB ausgeführt sondern die nächste Zeile wird ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON INTERRUPT|ON INTERRUPT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOTO.&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load address of variable&lt;br /&gt;
&lt;br /&gt;
Ldi R27,$00&amp;amp;nbsp;; load constant in register&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi R30, Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load Z with address of the label&lt;br /&gt;
&lt;br /&gt;
Ldi R31, High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; add value to Z&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump to address stored in Z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; jump table&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl2&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOSUB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;#####&amp;lt;/nowiki&amp;gt; On X Gosub L1 , L2&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Push R30&amp;amp;nbsp;;push return address&lt;br /&gt;
&lt;br /&gt;
Push R31&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;;load table address&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24&amp;amp;nbsp;; add to address of jump table&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump&amp;amp;nbsp;!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
Rjmp L1&lt;br /&gt;
&lt;br /&gt;
Rjmp L2&lt;br /&gt;
&lt;br /&gt;
ON_1_EXIT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see a jump is used to call the routine. Therefore the return address is first saved on the stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : ongosub.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo : ON .. GOSUB/GOTO&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' Mikrocontroller&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim A As Byte&lt;br /&gt;
Input &amp;quot;Enter value 0-2 &amp;quot; , A 'Nach Eingabe fragen&lt;br /&gt;
Rem Zu beachten: Der Startwert beginnt mit Null&lt;br /&gt;
On A Gosub L0 , L1 , L2&lt;br /&gt;
Print &amp;quot;Zurück aus GOSUB&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
If Portb &amp;lt; 2 Then 'Man kann auch den Port-Wert benutzen&lt;br /&gt;
On Portb Goto G0 , G1&lt;br /&gt;
End If&lt;br /&gt;
End_prog:&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
L0:&lt;br /&gt;
Print &amp;quot;0 eingegeben&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L1:&lt;br /&gt;
Print &amp;quot;1 eingegeben&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L2:&lt;br /&gt;
Print &amp;quot;2 eingegeben&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
G0:&lt;br /&gt;
Print &amp;quot;P1 = 0&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
 &lt;br /&gt;
G1:&lt;br /&gt;
Print &amp;quot;P1 = 1&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_VALUE/de</id>
		<title>ON VALUE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_VALUE/de"/>
				<updated>2013-03-17T20:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Verzweigung zu einem von mehreren angegebenen Labels in Abhängigkeit des Wertes einer Variablen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;var [GOTO] [GOSUB] label1 [, label2 ] [,CHECK]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;515&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die zu prüfende numerische Variable.&lt;br /&gt;
&lt;br /&gt;
Kann auch ein SFR wie zum Beispiel PORTB sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label1, label2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label (Sprungmarken) zu denen je nach Wert der Variablen gesprungen werden soll.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CHECK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale Prüfung der Anzahl der Sprungmarken.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzweigung erfolg nullbasiert. Wenn der Wert also Null ist dann wird zur ersten angegebenen Sprungmarke verzweigt.&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig, dass es zu jedem möglichen Wert eine zugehörige Sprungmarke gibt.&lt;br /&gt;
&lt;br /&gt;
Wenn nicht genügend Sprungmarken vorhanden sind dann läuft der Stack über.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
ON value label1, label2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn value = 2 dann gibt es keine zugehörige Sprungmarke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den optionalen CHECK Parameter benutzt dann wird geprüft ob genügend viele Sprungmarken vorhanden sind und wenn das nicht der Fall ist dann wird kein GOTO oder GOSUB ausgeführt sondern die nächste Zeile wird ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON INTERRUPT|ON INTERRUPT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOTO.&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load address of variable&lt;br /&gt;
&lt;br /&gt;
Ldi R27,$00&amp;amp;nbsp;; load constant in register&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi R30, Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load Z with address of the label&lt;br /&gt;
&lt;br /&gt;
Ldi R31, High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; add value to Z&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump to address stored in Z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; jump table&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl2&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOSUB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;#####&amp;lt;/nowiki&amp;gt; On X Gosub L1 , L2&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Push R30&amp;amp;nbsp;;push return address&lt;br /&gt;
&lt;br /&gt;
Push R31&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;;load table address&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24&amp;amp;nbsp;; add to address of jump table&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump&amp;amp;nbsp;!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
Rjmp L1&lt;br /&gt;
&lt;br /&gt;
Rjmp L2&lt;br /&gt;
&lt;br /&gt;
ON_1_EXIT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see a jump is used to call the routine. Therefore the return address is first saved on the stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Beispiel&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : ongosub.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo : ON .. GOSUB/GOTO&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' Mikrocontroller&lt;br /&gt;
$crystal = 4000000 ' Taktfrequenz&lt;br /&gt;
$baud = 19200 ' Baudrate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim A As Byte&lt;br /&gt;
Input &amp;quot;Enter value 0-2 &amp;quot; , A 'NAch Eingabe fragen&lt;br /&gt;
Rem Zu beachten: Der Startwert beginnt mit Null&lt;br /&gt;
On A Gosub L0 , L1 , L2&lt;br /&gt;
Print &amp;quot;Zurück aus GOSUB&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
If Portb &amp;lt; 2 Then 'Man kann auch den Port-Wert benutzen&lt;br /&gt;
On Portb Goto G0 , G1&lt;br /&gt;
End If&lt;br /&gt;
End_prog:&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
L0:&lt;br /&gt;
Print &amp;quot;0 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L1:&lt;br /&gt;
Print &amp;quot;1 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L2:&lt;br /&gt;
Print &amp;quot;2 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
G0:&lt;br /&gt;
Print &amp;quot;P1 = 0&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
 &lt;br /&gt;
G1:&lt;br /&gt;
Print &amp;quot;P1 = 1&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_VALUE/de</id>
		<title>ON VALUE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_VALUE/de"/>
				<updated>2013-03-17T20:53:32Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* ASM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Verzweigung zu einem von mehreren angegebenen Labels in Abhängigkeit des Wertes einer Variablen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;var [GOTO] [GOSUB] label1 [, label2 ] [,CHECK]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;515&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die zu prüfende numerische Variable.&lt;br /&gt;
&lt;br /&gt;
Kann auch ein SFR wie zum Beispiel PORTB sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label1, label2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label (Sprungmarken) zu denen je nach Wert der Variablen gesprungen werden soll.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CHECK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale Prüfung der Anzahl der Sprungmarken.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzweigung erfolg nullbasiert. Wenn der Wert also Null ist dann wird zur ersten angegebenen Sprungmarke verzweigt.&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig, dass es zu jedem möglichen Wert eine zugehörige Sprungmarke gibt.&lt;br /&gt;
&lt;br /&gt;
Wenn nicht genügend Sprungmarken vorhanden sind dann läuft der Stack über.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
ON value label1, label2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn value = 2 dann gibt es keine zugehörige Sprungmarke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den optionalen CHECK Parameter benutzt dann wird geprüft ob genügend viele Sprungmarken vorhanden sind und wenn das nicht der Fall ist dann wird kein GOTO oder GOSUB ausgeführt sondern die nächste Zeile wird ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON INTERRUPT|ON INTERRUPT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Assembler&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOTO.&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load address of variable&lt;br /&gt;
&lt;br /&gt;
Ldi R27,$00&amp;amp;nbsp;; load constant in register&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi R30, Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load Z with address of the label&lt;br /&gt;
&lt;br /&gt;
Ldi R31, High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; add value to Z&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump to address stored in Z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; jump table&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl2&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOSUB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;#####&amp;lt;/nowiki&amp;gt; On X Gosub L1 , L2&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Push R30&amp;amp;nbsp;;push return address&lt;br /&gt;
&lt;br /&gt;
Push R31&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;;load table address&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24&amp;amp;nbsp;; add to address of jump table&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump&amp;amp;nbsp;!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
Rjmp L1&lt;br /&gt;
&lt;br /&gt;
Rjmp L2&lt;br /&gt;
&lt;br /&gt;
ON_1_EXIT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see a jump is used to call the routine. Therefore the return address is first saved on the stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : ongosub.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo : ON .. GOSUB/GOTO&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim A As Byte&lt;br /&gt;
Input &amp;quot;Enter value 0-2 &amp;quot; , A 'ask for input&lt;br /&gt;
Rem Note That The Starting Value Begins With 0&lt;br /&gt;
On A Gosub L0 , L1 , L2&lt;br /&gt;
Print &amp;quot;Returned&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
If Portb &amp;lt; 2 Then 'you can also use the portvalue&lt;br /&gt;
On Portb Goto G0 , G1&lt;br /&gt;
End If&lt;br /&gt;
End_prog:&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
L0:&lt;br /&gt;
Print &amp;quot;0 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L1:&lt;br /&gt;
Print &amp;quot;1 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L2:&lt;br /&gt;
Print &amp;quot;2 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
G0:&lt;br /&gt;
Print &amp;quot;P1 = 0&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
 &lt;br /&gt;
G1:&lt;br /&gt;
Print &amp;quot;P1 = 1&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_VALUE/de</id>
		<title>ON VALUE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_VALUE/de"/>
				<updated>2013-03-17T20:52:58Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Verzweigung zu einem von mehreren angegebenen Labels in Abhängigkeit des Wertes einer Variablen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;var [GOTO] [GOSUB] label1 [, label2 ] [,CHECK]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;515&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die zu prüfende numerische Variable.&lt;br /&gt;
&lt;br /&gt;
Kann auch ein SFR wie zum Beispiel PORTB sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label1, label2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label (Sprungmarken) zu denen je nach Wert der Variablen gesprungen werden soll.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CHECK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale Prüfung der Anzahl der Sprungmarken.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzweigung erfolg nullbasiert. Wenn der Wert also Null ist dann wird zur ersten angegebenen Sprungmarke verzweigt.&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig, dass es zu jedem möglichen Wert eine zugehörige Sprungmarke gibt.&lt;br /&gt;
&lt;br /&gt;
Wenn nicht genügend Sprungmarken vorhanden sind dann läuft der Stack über.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
ON value label1, label2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn value = 2 dann gibt es keine zugehörige Sprungmarke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den optionalen CHECK Parameter benutzt dann wird geprüft ob genügend viele Sprungmarken vorhanden sind und wenn das nicht der Fall ist dann wird kein GOTO oder GOSUB ausgeführt sondern die nächste Zeile wird ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Siehe auch&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON INTERRUPT|ON INTERRUPT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOTO.&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load address of variable&lt;br /&gt;
&lt;br /&gt;
Ldi R27,$00&amp;amp;nbsp;; load constant in register&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi R30, Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load Z with address of the label&lt;br /&gt;
&lt;br /&gt;
Ldi R31, High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; add value to Z&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump to address stored in Z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; jump table&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl2&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOSUB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;#####&amp;lt;/nowiki&amp;gt; On X Gosub L1 , L2&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Push R30&amp;amp;nbsp;;push return address&lt;br /&gt;
&lt;br /&gt;
Push R31&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;;load table address&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24&amp;amp;nbsp;; add to address of jump table&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump&amp;amp;nbsp;!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
Rjmp L1&lt;br /&gt;
&lt;br /&gt;
Rjmp L2&lt;br /&gt;
&lt;br /&gt;
ON_1_EXIT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see a jump is used to call the routine. Therefore the return address is first saved on the stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : ongosub.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo : ON .. GOSUB/GOTO&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim A As Byte&lt;br /&gt;
Input &amp;quot;Enter value 0-2 &amp;quot; , A 'ask for input&lt;br /&gt;
Rem Note That The Starting Value Begins With 0&lt;br /&gt;
On A Gosub L0 , L1 , L2&lt;br /&gt;
Print &amp;quot;Returned&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
If Portb &amp;lt; 2 Then 'you can also use the portvalue&lt;br /&gt;
On Portb Goto G0 , G1&lt;br /&gt;
End If&lt;br /&gt;
End_prog:&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
L0:&lt;br /&gt;
Print &amp;quot;0 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L1:&lt;br /&gt;
Print &amp;quot;1 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L2:&lt;br /&gt;
Print &amp;quot;2 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
G0:&lt;br /&gt;
Print &amp;quot;P1 = 0&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
 &lt;br /&gt;
G1:&lt;br /&gt;
Print &amp;quot;P1 = 1&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/ON_VALUE/de</id>
		<title>ON VALUE/de</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/ON_VALUE/de"/>
				<updated>2013-03-17T20:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Stefanhamburg: /* Anmerkungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Funktion&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Verzweigung zu einem von mehreren angegebenen Labels in Abhängigkeit des Wertes einer Variablen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;ON&amp;lt;/span&amp;gt;&amp;amp;nbsp;var [GOTO] [GOSUB] label1 [, label2 ] [,CHECK]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Anmerkungen&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;515&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Die zu prüfende numerische Variable.&lt;br /&gt;
&lt;br /&gt;
Kann auch ein SFR wie zum Beispiel PORTB sein.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
label1, label2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label (Sprungmarken) zu denen je nach Wert der Variablen gesprungen werden soll.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;21%&amp;quot; style=&amp;quot;width: 105px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CHECK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;98%&amp;quot; style=&amp;quot;width: 401px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Optionale Prüfung der Anzahl der Sprungmarken.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzweigung erfolg nullbasiert. Wenn der Wert also Null ist dann wird zur ersten angegebenen Sprungmarke verzweigt.&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig, dass es zu jedem möglichen Wert eine zugehörige Sprungmarke gibt.&lt;br /&gt;
&lt;br /&gt;
Wenn nicht genügend Sprungmarken vorhanden sind dann läuft der Stack über.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
ON value label1, label2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn value = 2 dann gibt es keine zugehörige Sprungmarke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man den optionalen CHECK Parameter benutzt dann wird geprüft ob genügend viele Sprungmarken vorhanden sind und wenn das nicht der Fall ist dann wird kein GOTO oder GOSUB ausgeführt sondern die nächste Zeile wird ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[ON INTERRUPT|ON INTERRUPT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOTO.&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load address of variable&lt;br /&gt;
&lt;br /&gt;
Ldi R27,$00&amp;amp;nbsp;; load constant in register&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi R30, Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; load Z with address of the label&lt;br /&gt;
&lt;br /&gt;
Ldi R31, High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; add value to Z&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump to address stored in Z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;; jump table&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl2&lt;br /&gt;
&lt;br /&gt;
Rjmp lbl3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code will be generated for a non-MEGA micro with ON value GOSUB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;#####&amp;lt;/nowiki&amp;gt; On X Gosub L1 , L2&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_EXIT * 1)&lt;br /&gt;
&lt;br /&gt;
Push R30&amp;amp;nbsp;;push return address&lt;br /&gt;
&lt;br /&gt;
Push R31&lt;br /&gt;
&lt;br /&gt;
Ldi R30,Low(ON_1_ * 1) &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;;load table address&lt;br /&gt;
&lt;br /&gt;
Ldi R31,High(ON_1_ * 1)&lt;br /&gt;
&lt;br /&gt;
Ldi R26,$60&lt;br /&gt;
&lt;br /&gt;
Ld R24,X&lt;br /&gt;
&lt;br /&gt;
Clr R25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add zl,r24&amp;amp;nbsp;; add to address of jump table&lt;br /&gt;
&lt;br /&gt;
Adc zh,r25&lt;br /&gt;
&lt;br /&gt;
Ijmp &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;; jump&amp;amp;nbsp;!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ON_1_:&lt;br /&gt;
&lt;br /&gt;
Rjmp L1&lt;br /&gt;
&lt;br /&gt;
Rjmp L2&lt;br /&gt;
&lt;br /&gt;
ON_1_EXIT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see a jump is used to call the routine. Therefore the return address is first saved on the stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : ongosub.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demo : ON .. GOSUB/GOTO&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Dim A As Byte&lt;br /&gt;
Input &amp;quot;Enter value 0-2 &amp;quot; , A 'ask for input&lt;br /&gt;
Rem Note That The Starting Value Begins With 0&lt;br /&gt;
On A Gosub L0 , L1 , L2&lt;br /&gt;
Print &amp;quot;Returned&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
If Portb &amp;lt; 2 Then 'you can also use the portvalue&lt;br /&gt;
On Portb Goto G0 , G1&lt;br /&gt;
End If&lt;br /&gt;
End_prog:&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
L0:&lt;br /&gt;
Print &amp;quot;0 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L1:&lt;br /&gt;
Print &amp;quot;1 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
L2:&lt;br /&gt;
Print &amp;quot;2 entered&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
G0:&lt;br /&gt;
Print &amp;quot;P1 = 0&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
 &lt;br /&gt;
G1:&lt;br /&gt;
Print &amp;quot;P1 = 1&amp;quot;&lt;br /&gt;
Goto End_prog&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Stefanhamburg</name></author>	</entry>

	</feed>