<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+der+Echte</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+der+Echte"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Michael_der_Echte"/>
		<updated>2026-04-11T21:50:55Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18855</id>
		<title>Bascom Variablen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18855"/>
				<updated>2012-01-19T14:30:10Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Strings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten. &lt;br /&gt;
&lt;br /&gt;
== Zur Erklärung ==&lt;br /&gt;
In den Quelltexten zur Erzeugung der Variablen steht &amp;quot;Name&amp;quot; immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)&lt;br /&gt;
== Bits ==&lt;br /&gt;
Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.&lt;br /&gt;
&lt;br /&gt;
Hier der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertbereich:''' 0 bis 1&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Bit&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 1 'setzt die Variable auf 1&lt;br /&gt;
 Name = 0 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 Set Name 'setzt die Variable auf 1&lt;br /&gt;
 Reset Name 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bytes ==&lt;br /&gt;
Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255.&lt;br /&gt;
In Bascom werden passenderweise auch 8-Bit Bytes verwendet.&lt;br /&gt;
&lt;br /&gt;
Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:&lt;br /&gt;
{{Registertabelle8Bit|NEIN|JA|JA|NEIN|NEIN|JA|NEIN|NEIN}}&lt;br /&gt;
(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So viel zur Theorie, kommen wir zur Praxis.&lt;br /&gt;
&lt;br /&gt;
Dazu wieder ein kleiner Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Byte&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 100 'setzt die Variable auf 100&lt;br /&gt;
 Name = &amp;quot;a&amp;quot; 'speichert den Buchstaben a in der Variable&lt;br /&gt;
 Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat&lt;br /&gt;
 Name = Name + &amp;amp;B00000010 (auch wieder 2 Addieren allerdings in binärer (&amp;amp;B) Schreibweise)&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integer ==&lt;br /&gt;
Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern.&lt;br /&gt;
Außerdem können sie auch Zahlen im negativen Bereich speichern.&lt;br /&gt;
&lt;br /&gt;
Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' '''-32768''' bis '''+32767'''&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Integer&lt;br /&gt;
&lt;br /&gt;
'''Wertzweisung in Bascom:'''&lt;br /&gt;
 Name = 2500 'setzt die Variable auf 2500&lt;br /&gt;
 Name = Name + 5000 'addiert 5000 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darstellung von Integerzahlen als Binärwert&lt;br /&gt;
      1 = &amp;amp;B0000000000000001&lt;br /&gt;
     -1 = &amp;amp;B1111111111111111&lt;br /&gt;
      2 = &amp;amp;B0000000000000010&lt;br /&gt;
     -2 = &amp;amp;B1111111111111110&lt;br /&gt;
    255 = &amp;amp;B0000000011111111&lt;br /&gt;
   -255 = &amp;amp;B1111111100000001&lt;br /&gt;
  32767 = &amp;amp;B0111111111111111&lt;br /&gt;
 -32768 = &amp;amp;B1000000000000000&lt;br /&gt;
&lt;br /&gt;
Bascom Code: ''print bin (Name)''&lt;br /&gt;
&lt;br /&gt;
== Long-Variablen ==&lt;br /&gt;
Long-Variablen haben den größten Wertebereich. &lt;br /&gt;
&lt;br /&gt;
Hier wieder ein Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' -2147483648 bis 2147483647&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Long&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 10000000 'setzt die Variable auf 1000000&lt;br /&gt;
 Name = Name + 30234 'addiert 30234 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Word-Variablen ==&lt;br /&gt;
Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig.&lt;br /&gt;
Steckbrief:&lt;br /&gt;
&lt;br /&gt;
'''Wertebereich:''' 0 bis 65535&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |15&lt;br /&gt;
 |14&lt;br /&gt;
 |13&lt;br /&gt;
 |12&lt;br /&gt;
 |11&lt;br /&gt;
 |10&lt;br /&gt;
 |9&lt;br /&gt;
 |8&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |32768&lt;br /&gt;
 |16384&lt;br /&gt;
 |8192&lt;br /&gt;
 |4096 &lt;br /&gt;
 |2048 &lt;br /&gt;
 |1024&lt;br /&gt;
 |512&lt;br /&gt;
 |256&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
Dieses Bitmuster (&amp;amp;B1100110011001100) stellt den Wert 52428 (dez.) dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Word&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 3333 'setzt die Variable auf 3333&lt;br /&gt;
 Name = Name + 20 'addiert 20 zur Variablen&lt;br /&gt;
 Name = Name + &amp;amp;B00010100 'addiert auch 20 (Binär 00010100)zur Variablen&lt;br /&gt;
&lt;br /&gt;
== Strings ==&lt;br /&gt;
Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen.&lt;br /&gt;
Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet. &lt;br /&gt;
&lt;br /&gt;
Aber ein Steckbrief sagt mehr als tausend Worte:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' max. 254 Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann&lt;br /&gt;
                         'Hier kann man 1 bis 254 auswählen&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = &amp;quot;Hallo! 123456&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei der Zuweisung von Text zu Stringvariablen muss man als Programmierer selbst darauf achten, dass die Stringlänge, die man mit z.B. &amp;quot;Dim Name As String * 50&amp;quot; definiert hat,  nicht überschritten wird. Sonst sind unvorhersehbare Effekte und Absturz möglich.&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. &lt;br /&gt;
Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt.&lt;br /&gt;
Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich.&lt;br /&gt;
Auch sie können sowohl Zahlen als auch Buchstaben speichern.&lt;br /&gt;
&lt;br /&gt;
Der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:'''Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom + Wertzuweisung:'''&lt;br /&gt;
 Const Name = &amp;quot;test&amp;quot; 'Weist der Konstante &amp;quot;Name&amp;quot; den Text in Anführungszeichen zu&lt;br /&gt;
mit Zahlen funktioniert das auch:&lt;br /&gt;
 Const Name = 1234 'Weist der Konstante &amp;quot;Name&amp;quot; den Wert 1234 zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.&lt;br /&gt;
&lt;br /&gt;
== Und was soll das ganze? ==&lt;br /&gt;
Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:&lt;br /&gt;
&lt;br /&gt;
Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Shahri|Shahri]] 17:45, 17. Mai 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18854</id>
		<title>Bascom Variablen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18854"/>
				<updated>2012-01-19T14:29:36Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Strings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten. &lt;br /&gt;
&lt;br /&gt;
== Zur Erklärung ==&lt;br /&gt;
In den Quelltexten zur Erzeugung der Variablen steht &amp;quot;Name&amp;quot; immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)&lt;br /&gt;
== Bits ==&lt;br /&gt;
Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.&lt;br /&gt;
&lt;br /&gt;
Hier der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertbereich:''' 0 bis 1&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Bit&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 1 'setzt die Variable auf 1&lt;br /&gt;
 Name = 0 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 Set Name 'setzt die Variable auf 1&lt;br /&gt;
 Reset Name 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bytes ==&lt;br /&gt;
Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255.&lt;br /&gt;
In Bascom werden passenderweise auch 8-Bit Bytes verwendet.&lt;br /&gt;
&lt;br /&gt;
Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:&lt;br /&gt;
{{Registertabelle8Bit|NEIN|JA|JA|NEIN|NEIN|JA|NEIN|NEIN}}&lt;br /&gt;
(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So viel zur Theorie, kommen wir zur Praxis.&lt;br /&gt;
&lt;br /&gt;
Dazu wieder ein kleiner Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Byte&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 100 'setzt die Variable auf 100&lt;br /&gt;
 Name = &amp;quot;a&amp;quot; 'speichert den Buchstaben a in der Variable&lt;br /&gt;
 Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat&lt;br /&gt;
 Name = Name + &amp;amp;B00000010 (auch wieder 2 Addieren allerdings in binärer (&amp;amp;B) Schreibweise)&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integer ==&lt;br /&gt;
Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern.&lt;br /&gt;
Außerdem können sie auch Zahlen im negativen Bereich speichern.&lt;br /&gt;
&lt;br /&gt;
Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' '''-32768''' bis '''+32767'''&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Integer&lt;br /&gt;
&lt;br /&gt;
'''Wertzweisung in Bascom:'''&lt;br /&gt;
 Name = 2500 'setzt die Variable auf 2500&lt;br /&gt;
 Name = Name + 5000 'addiert 5000 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darstellung von Integerzahlen als Binärwert&lt;br /&gt;
      1 = &amp;amp;B0000000000000001&lt;br /&gt;
     -1 = &amp;amp;B1111111111111111&lt;br /&gt;
      2 = &amp;amp;B0000000000000010&lt;br /&gt;
     -2 = &amp;amp;B1111111111111110&lt;br /&gt;
    255 = &amp;amp;B0000000011111111&lt;br /&gt;
   -255 = &amp;amp;B1111111100000001&lt;br /&gt;
  32767 = &amp;amp;B0111111111111111&lt;br /&gt;
 -32768 = &amp;amp;B1000000000000000&lt;br /&gt;
&lt;br /&gt;
Bascom Code: ''print bin (Name)''&lt;br /&gt;
&lt;br /&gt;
== Long-Variablen ==&lt;br /&gt;
Long-Variablen haben den größten Wertebereich. &lt;br /&gt;
&lt;br /&gt;
Hier wieder ein Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' -2147483648 bis 2147483647&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Long&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 10000000 'setzt die Variable auf 1000000&lt;br /&gt;
 Name = Name + 30234 'addiert 30234 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Word-Variablen ==&lt;br /&gt;
Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig.&lt;br /&gt;
Steckbrief:&lt;br /&gt;
&lt;br /&gt;
'''Wertebereich:''' 0 bis 65535&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |15&lt;br /&gt;
 |14&lt;br /&gt;
 |13&lt;br /&gt;
 |12&lt;br /&gt;
 |11&lt;br /&gt;
 |10&lt;br /&gt;
 |9&lt;br /&gt;
 |8&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |32768&lt;br /&gt;
 |16384&lt;br /&gt;
 |8192&lt;br /&gt;
 |4096 &lt;br /&gt;
 |2048 &lt;br /&gt;
 |1024&lt;br /&gt;
 |512&lt;br /&gt;
 |256&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
Dieses Bitmuster (&amp;amp;B1100110011001100) stellt den Wert 52428 (dez.) dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Word&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 3333 'setzt die Variable auf 3333&lt;br /&gt;
 Name = Name + 20 'addiert 20 zur Variablen&lt;br /&gt;
 Name = Name + &amp;amp;B00010100 'addiert auch 20 (Binär 00010100)zur Variablen&lt;br /&gt;
&lt;br /&gt;
== Strings ==&lt;br /&gt;
Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen.&lt;br /&gt;
Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet. &lt;br /&gt;
&lt;br /&gt;
Aber ein Steckbrief sagt mehr als tausend Worte:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' max. 70 Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann&lt;br /&gt;
                         'Hier kann man 1 bis 255 auswählen&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = &amp;quot;Hallo! 123456&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei der Zuweisung von Text zu Stringvariablen muss man als Programmierer selbst darauf achten, dass die Stringlänge, die man mit z.B. &amp;quot;Dim Name As String * 50&amp;quot; definiert hat,  nicht überschritten wird. Sonst sind unvorhersehbare Effekte und Absturz möglich.&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. &lt;br /&gt;
Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt.&lt;br /&gt;
Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich.&lt;br /&gt;
Auch sie können sowohl Zahlen als auch Buchstaben speichern.&lt;br /&gt;
&lt;br /&gt;
Der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:'''Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom + Wertzuweisung:'''&lt;br /&gt;
 Const Name = &amp;quot;test&amp;quot; 'Weist der Konstante &amp;quot;Name&amp;quot; den Text in Anführungszeichen zu&lt;br /&gt;
mit Zahlen funktioniert das auch:&lt;br /&gt;
 Const Name = 1234 'Weist der Konstante &amp;quot;Name&amp;quot; den Wert 1234 zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.&lt;br /&gt;
&lt;br /&gt;
== Und was soll das ganze? ==&lt;br /&gt;
Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:&lt;br /&gt;
&lt;br /&gt;
Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Shahri|Shahri]] 17:45, 17. Mai 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18853</id>
		<title>Bascom Variablen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18853"/>
				<updated>2012-01-19T14:28:53Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Strings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten. &lt;br /&gt;
&lt;br /&gt;
== Zur Erklärung ==&lt;br /&gt;
In den Quelltexten zur Erzeugung der Variablen steht &amp;quot;Name&amp;quot; immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)&lt;br /&gt;
== Bits ==&lt;br /&gt;
Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.&lt;br /&gt;
&lt;br /&gt;
Hier der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertbereich:''' 0 bis 1&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Bit&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 1 'setzt die Variable auf 1&lt;br /&gt;
 Name = 0 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 Set Name 'setzt die Variable auf 1&lt;br /&gt;
 Reset Name 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bytes ==&lt;br /&gt;
Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255.&lt;br /&gt;
In Bascom werden passenderweise auch 8-Bit Bytes verwendet.&lt;br /&gt;
&lt;br /&gt;
Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:&lt;br /&gt;
{{Registertabelle8Bit|NEIN|JA|JA|NEIN|NEIN|JA|NEIN|NEIN}}&lt;br /&gt;
(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So viel zur Theorie, kommen wir zur Praxis.&lt;br /&gt;
&lt;br /&gt;
Dazu wieder ein kleiner Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Byte&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 100 'setzt die Variable auf 100&lt;br /&gt;
 Name = &amp;quot;a&amp;quot; 'speichert den Buchstaben a in der Variable&lt;br /&gt;
 Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat&lt;br /&gt;
 Name = Name + &amp;amp;B00000010 (auch wieder 2 Addieren allerdings in binärer (&amp;amp;B) Schreibweise)&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integer ==&lt;br /&gt;
Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern.&lt;br /&gt;
Außerdem können sie auch Zahlen im negativen Bereich speichern.&lt;br /&gt;
&lt;br /&gt;
Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' '''-32768''' bis '''+32767'''&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Integer&lt;br /&gt;
&lt;br /&gt;
'''Wertzweisung in Bascom:'''&lt;br /&gt;
 Name = 2500 'setzt die Variable auf 2500&lt;br /&gt;
 Name = Name + 5000 'addiert 5000 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darstellung von Integerzahlen als Binärwert&lt;br /&gt;
      1 = &amp;amp;B0000000000000001&lt;br /&gt;
     -1 = &amp;amp;B1111111111111111&lt;br /&gt;
      2 = &amp;amp;B0000000000000010&lt;br /&gt;
     -2 = &amp;amp;B1111111111111110&lt;br /&gt;
    255 = &amp;amp;B0000000011111111&lt;br /&gt;
   -255 = &amp;amp;B1111111100000001&lt;br /&gt;
  32767 = &amp;amp;B0111111111111111&lt;br /&gt;
 -32768 = &amp;amp;B1000000000000000&lt;br /&gt;
&lt;br /&gt;
Bascom Code: ''print bin (Name)''&lt;br /&gt;
&lt;br /&gt;
== Long-Variablen ==&lt;br /&gt;
Long-Variablen haben den größten Wertebereich. &lt;br /&gt;
&lt;br /&gt;
Hier wieder ein Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' -2147483648 bis 2147483647&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Long&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 10000000 'setzt die Variable auf 1000000&lt;br /&gt;
 Name = Name + 30234 'addiert 30234 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Word-Variablen ==&lt;br /&gt;
Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig.&lt;br /&gt;
Steckbrief:&lt;br /&gt;
&lt;br /&gt;
'''Wertebereich:''' 0 bis 65535&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |15&lt;br /&gt;
 |14&lt;br /&gt;
 |13&lt;br /&gt;
 |12&lt;br /&gt;
 |11&lt;br /&gt;
 |10&lt;br /&gt;
 |9&lt;br /&gt;
 |8&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |32768&lt;br /&gt;
 |16384&lt;br /&gt;
 |8192&lt;br /&gt;
 |4096 &lt;br /&gt;
 |2048 &lt;br /&gt;
 |1024&lt;br /&gt;
 |512&lt;br /&gt;
 |256&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
Dieses Bitmuster (&amp;amp;B1100110011001100) stellt den Wert 52428 (dez.) dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Word&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 3333 'setzt die Variable auf 3333&lt;br /&gt;
 Name = Name + 20 'addiert 20 zur Variablen&lt;br /&gt;
 Name = Name + &amp;amp;B00010100 'addiert auch 20 (Binär 00010100)zur Variablen&lt;br /&gt;
&lt;br /&gt;
== Strings ==&lt;br /&gt;
Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen.&lt;br /&gt;
Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet. &lt;br /&gt;
&lt;br /&gt;
Aber ein Steckbrief sagt mehr als tausend Worte:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' max. 70 Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann&lt;br /&gt;
                         'Hier kann man 0 bis 50 auswählen&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = &amp;quot;Hallo! 123456&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei der Zuweisung von Text zu Stringvariablen muss man als Programmierer selbst darauf achten, dass die Stringlänge, die man mit z.B. &amp;quot;Dim Name As String * 50&amp;quot; definiert hat,  nicht überschritten wird. Sonst sind unvorhersehbare Effekte und Absturz möglich.&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. &lt;br /&gt;
Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt.&lt;br /&gt;
Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich.&lt;br /&gt;
Auch sie können sowohl Zahlen als auch Buchstaben speichern.&lt;br /&gt;
&lt;br /&gt;
Der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:'''Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom + Wertzuweisung:'''&lt;br /&gt;
 Const Name = &amp;quot;test&amp;quot; 'Weist der Konstante &amp;quot;Name&amp;quot; den Text in Anführungszeichen zu&lt;br /&gt;
mit Zahlen funktioniert das auch:&lt;br /&gt;
 Const Name = 1234 'Weist der Konstante &amp;quot;Name&amp;quot; den Wert 1234 zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.&lt;br /&gt;
&lt;br /&gt;
== Und was soll das ganze? ==&lt;br /&gt;
Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:&lt;br /&gt;
&lt;br /&gt;
Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Shahri|Shahri]] 17:45, 17. Mai 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18852</id>
		<title>Bascom Variablen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=18852"/>
				<updated>2012-01-19T14:18:27Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Konstanten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten. &lt;br /&gt;
&lt;br /&gt;
== Zur Erklärung ==&lt;br /&gt;
In den Quelltexten zur Erzeugung der Variablen steht &amp;quot;Name&amp;quot; immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)&lt;br /&gt;
== Bits ==&lt;br /&gt;
Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.&lt;br /&gt;
&lt;br /&gt;
Hier der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertbereich:''' 0 bis 1&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Bit&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 1 'setzt die Variable auf 1&lt;br /&gt;
 Name = 0 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 Set Name 'setzt die Variable auf 1&lt;br /&gt;
 Reset Name 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bytes ==&lt;br /&gt;
Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255.&lt;br /&gt;
In Bascom werden passenderweise auch 8-Bit Bytes verwendet.&lt;br /&gt;
&lt;br /&gt;
Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:&lt;br /&gt;
{{Registertabelle8Bit|NEIN|JA|JA|NEIN|NEIN|JA|NEIN|NEIN}}&lt;br /&gt;
(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So viel zur Theorie, kommen wir zur Praxis.&lt;br /&gt;
&lt;br /&gt;
Dazu wieder ein kleiner Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Byte&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 100 'setzt die Variable auf 100&lt;br /&gt;
 Name = &amp;quot;a&amp;quot; 'speichert den Buchstaben a in der Variable&lt;br /&gt;
 Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat&lt;br /&gt;
 Name = Name + &amp;amp;B00000010 (auch wieder 2 Addieren allerdings in binärer (&amp;amp;B) Schreibweise)&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integer ==&lt;br /&gt;
Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern.&lt;br /&gt;
Außerdem können sie auch Zahlen im negativen Bereich speichern.&lt;br /&gt;
&lt;br /&gt;
Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' '''-32768''' bis '''+32767'''&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Integer&lt;br /&gt;
&lt;br /&gt;
'''Wertzweisung in Bascom:'''&lt;br /&gt;
 Name = 2500 'setzt die Variable auf 2500&lt;br /&gt;
 Name = Name + 5000 'addiert 5000 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darstellung von Integerzahlen als Binärwert&lt;br /&gt;
      1 = &amp;amp;B0000000000000001&lt;br /&gt;
     -1 = &amp;amp;B1111111111111111&lt;br /&gt;
      2 = &amp;amp;B0000000000000010&lt;br /&gt;
     -2 = &amp;amp;B1111111111111110&lt;br /&gt;
    255 = &amp;amp;B0000000011111111&lt;br /&gt;
   -255 = &amp;amp;B1111111100000001&lt;br /&gt;
  32767 = &amp;amp;B0111111111111111&lt;br /&gt;
 -32768 = &amp;amp;B1000000000000000&lt;br /&gt;
&lt;br /&gt;
Bascom Code: ''print bin (Name)''&lt;br /&gt;
&lt;br /&gt;
== Long-Variablen ==&lt;br /&gt;
Long-Variablen haben den größten Wertebereich. &lt;br /&gt;
&lt;br /&gt;
Hier wieder ein Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' -2147483648 bis 2147483647&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Long&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 10000000 'setzt die Variable auf 1000000&lt;br /&gt;
 Name = Name + 30234 'addiert 30234 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Word-Variablen ==&lt;br /&gt;
Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig.&lt;br /&gt;
Steckbrief:&lt;br /&gt;
&lt;br /&gt;
'''Wertebereich:''' 0 bis 65535&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |15&lt;br /&gt;
 |14&lt;br /&gt;
 |13&lt;br /&gt;
 |12&lt;br /&gt;
 |11&lt;br /&gt;
 |10&lt;br /&gt;
 |9&lt;br /&gt;
 |8&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |32768&lt;br /&gt;
 |16384&lt;br /&gt;
 |8192&lt;br /&gt;
 |4096 &lt;br /&gt;
 |2048 &lt;br /&gt;
 |1024&lt;br /&gt;
 |512&lt;br /&gt;
 |256&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
Dieses Bitmuster (&amp;amp;B1100110011001100) stellt den Wert 52428 (dez.) dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Word&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 3333 'setzt die Variable auf 3333&lt;br /&gt;
 Name = Name + 20 'addiert 20 zur Variablen&lt;br /&gt;
 Name = Name + &amp;amp;B00010100 'addiert auch 20 (Binär 00010100)zur Variablen&lt;br /&gt;
&lt;br /&gt;
== Strings ==&lt;br /&gt;
Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen.&lt;br /&gt;
Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet. &lt;br /&gt;
&lt;br /&gt;
Aber ein Steckbrief sagt mehr als tausend Worte:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' max. 70 Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann&lt;br /&gt;
                         'Hier kann man 0 bis 70 auswählen&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = &amp;quot;Hallo! 123456&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei der Zuweisung von Text zu Stringvariablen muss man als Programmierer selbst darauf achten, dass die Stringlänge, die man mit z.B. &amp;quot;Dim Name As String * 50&amp;quot; definiert hat,  nicht überschritten wird. Sonst sind unvorhersehbare Effekte und Absturz möglich.&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. &lt;br /&gt;
Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt.&lt;br /&gt;
Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich.&lt;br /&gt;
Auch sie können sowohl Zahlen als auch Buchstaben speichern.&lt;br /&gt;
&lt;br /&gt;
Der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:'''Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom + Wertzuweisung:'''&lt;br /&gt;
 Const Name = &amp;quot;test&amp;quot; 'Weist der Konstante &amp;quot;Name&amp;quot; den Text in Anführungszeichen zu&lt;br /&gt;
mit Zahlen funktioniert das auch:&lt;br /&gt;
 Const Name = 1234 'Weist der Konstante &amp;quot;Name&amp;quot; den Wert 1234 zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.&lt;br /&gt;
&lt;br /&gt;
== Und was soll das ganze? ==&lt;br /&gt;
Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:&lt;br /&gt;
&lt;br /&gt;
Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Shahri|Shahri]] 17:45, 17. Mai 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_und_LCD%27s&amp;diff=18641</id>
		<title>Bascom und LCD's</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_und_LCD%27s&amp;diff=18641"/>
				<updated>2011-09-15T23:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Das Programm für das LCD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mit Bascom, LCD-Displays ansteuern ==&lt;br /&gt;
&lt;br /&gt;
===LCD Display===&lt;br /&gt;
&lt;br /&gt;
Ein LCD-Display kann man mit wenig Aufwand an einen AVR anschließen. Ein paar Leitungen, ein kleines Programm und schon hat man eine Anzeige für den AVR.&lt;br /&gt;
&lt;br /&gt;
Es gibt unter den Displays zwei große Gruppen. &lt;br /&gt;
&lt;br /&gt;
Die einen sind die Text-Displays (können nur Text und deren Sonderzeichen darstellen), die anderen sind die Grafik-Displays.&lt;br /&gt;
&lt;br /&gt;
Hier geht es um Text- Displays.&lt;br /&gt;
&lt;br /&gt;
====Anschlüsse:====&lt;br /&gt;
&lt;br /&gt;
Die meisten Text-LCD’s haben einen 14 poligen bzw. einen 16 poligen Anschluss. &lt;br /&gt;
14 polig ist meist ein LCD ohne Hintergrundbeleuchtung und beim 16 poligen ist meist der Pin 15 und 16 die Beleuchtung.&lt;br /&gt;
&lt;br /&gt;
Die Anschlüsse vom LCD-Display:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}} &lt;br /&gt;
|1 	&lt;br /&gt;
|Vss	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Vcc&lt;br /&gt;
|5V&lt;br /&gt;
|-&lt;br /&gt;
|3	&lt;br /&gt;
|Vee	&lt;br /&gt;
|Kontrastspannung (0V bis 1,5V)&lt;br /&gt;
|-&lt;br /&gt;
|4	&lt;br /&gt;
|RS	&lt;br /&gt;
|Register Select (Befehle/Daten)&lt;br /&gt;
|-&lt;br /&gt;
|5	&lt;br /&gt;
|RW	&lt;br /&gt;
|Read/Write&lt;br /&gt;
|-&lt;br /&gt;
|6	&lt;br /&gt;
|E	&lt;br /&gt;
|Enable&lt;br /&gt;
|-&lt;br /&gt;
|7	&lt;br /&gt;
|DB0	&lt;br /&gt;
|Datenbit 0&lt;br /&gt;
|-&lt;br /&gt;
|8	&lt;br /&gt;
|DB1	&lt;br /&gt;
|Datenbit 1&lt;br /&gt;
|-&lt;br /&gt;
|9	&lt;br /&gt;
|DB2	&lt;br /&gt;
|Datenbit 2&lt;br /&gt;
|-&lt;br /&gt;
|10	&lt;br /&gt;
|DB3	&lt;br /&gt;
|Datenbit 3&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|DB4&lt;br /&gt;
|Datenbit 4&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|DB5&lt;br /&gt;
|Datenbit 5&lt;br /&gt;
|-&lt;br /&gt;
|13	&lt;br /&gt;
|DB6	&lt;br /&gt;
|Datenbit 6&lt;br /&gt;
|-&lt;br /&gt;
|14	&lt;br /&gt;
|DB7	&lt;br /&gt;
|Datenbit 7&lt;br /&gt;
|-&lt;br /&gt;
|15	&lt;br /&gt;
|Beleuchtung	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|16	&lt;br /&gt;
|Beleuchtung	&lt;br /&gt;
|5V über mindestens einen  5 Ohm Widerstand anschließen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In den meisten Displays wird der Controllerchip HD44780 von Hitachi eingesetzt, oder auch der kompatible Bruder SED1278 von Epson. Auch in Verbindung mit dem Chip HD44100. (Auf der Rückseite vom Display nachschauen) Für alle diese trifft das obige Anschlussbild zu.&lt;br /&gt;
&lt;br /&gt;
Hier ein LCD  mit 16 Zeichen mal 2 Zeilen (16*2)&lt;br /&gt;
[[Bild:LCD 16 2 Vorderseite.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Und davon die Rückseite, mit Chip HD44100 und HD44780&lt;br /&gt;
[[Bild:LCD_16_2_Rückseite_kleiner.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hier ein LCD mit 24 Zeichen in je 2 Zeilen&lt;br /&gt;
[[Bild:LCD_24_2_Vorderseite_kleiner.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Und die Rückseite&lt;br /&gt;
[[Bild:LCD_24_2_Rückseite_kleiner.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==== Anschluss ====&lt;br /&gt;
Die Stromversorgung eines LCD sieht so aus:&lt;br /&gt;
[[Bild:Stromversorgung.jpg|center]]&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit dieser Beschaltung kann man schon mal probieren, ob man durch verdrehen des Kontrast-Potie, dunkle Vierecke zu sehen bekommt. Wenn ja, ist bis hier her schon mal alles ok .&lt;br /&gt;
Den Kontrast jetzt so einstellen, dass man gerade, diese dunklen Vierecke nicht mehr sieht.&lt;br /&gt;
&lt;br /&gt;
==== Anschlussmöglichkeiten des Displays ====&lt;br /&gt;
&lt;br /&gt;
Das Display besitzt neben der Stromversorgung noch die Anschlüsse: RW, RS , E und 8 Datenleitungen.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Möglichkeiten, wie man die  8 Datenleitungen des Displays an den AVR anschließen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Einmal den 8-Bit Modus und einmal den 4-Bit Modus.&lt;br /&gt;
Beim 8 Bit Modus schließt man alle 8 Datenleitungen an den AVR und kann in einem Schritt ein Zeichen (=1 Byte )in das Display übertragen.&lt;br /&gt;
Oder man macht  es im 4 Bit Modus mit nur 4 Datenleitungen und muss dafür 2*4 Bit für ein Zeichen übertragen (4 Bit = ein Nibble)&lt;br /&gt;
&lt;br /&gt;
Der Vorteil: &amp;lt;br&amp;gt;&lt;br /&gt;
Ich erspare mir somit 4 Leitungen des AVR’s und kann sie anderweitig nutzen.&lt;br /&gt;
&lt;br /&gt;
Der Nachteil:&amp;lt;br&amp;gt;&lt;br /&gt;
Ich muss für ein Zeichen nun 2*4 Bit übertragen (= langsamer)&lt;br /&gt;
&lt;br /&gt;
Aber da in diesem Fall die Geschwindigkeit nicht so eine große Rolle spielt und wir lieber 4 Leitungen mehr am AVR haben möchten, schließen wird das Display im 4Bit Modus an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anschlussbelegung für das Display im 4-Bit Modus: (Als Beispiel am Port D)&lt;br /&gt;
 &lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
|Display	&lt;br /&gt;
|Am AVR&lt;br /&gt;
|-&lt;br /&gt;
|1	&lt;br /&gt;
|Vss	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|2	&lt;br /&gt;
|Vcc	&lt;br /&gt;
|5V&lt;br /&gt;
|-&lt;br /&gt;
|3	&lt;br /&gt;
|Vee	&lt;br /&gt;
|Poti (siehe oben)&lt;br /&gt;
|-&lt;br /&gt;
|4	&lt;br /&gt;
|RS	&lt;br /&gt;
|PD4 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|5	&lt;br /&gt;
|RW	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|6	&lt;br /&gt;
|E	&lt;br /&gt;
|PD5 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|7	&lt;br /&gt;
|DB0	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|8	&lt;br /&gt;
|DB1	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|9	&lt;br /&gt;
|DB2	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|10	&lt;br /&gt;
|DB3	&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|11	&lt;br /&gt;
|DB4	&lt;br /&gt;
|PD0 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|12	&lt;br /&gt;
|DB5	&lt;br /&gt;
|PD1 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|13	&lt;br /&gt;
|DB6	&lt;br /&gt;
|PD2 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|14	&lt;br /&gt;
|DB7	&lt;br /&gt;
|PD3 am AVR&lt;br /&gt;
|-&lt;br /&gt;
|15	&lt;br /&gt;
|Beleu.	&lt;br /&gt;
|frei&lt;br /&gt;
|-&lt;br /&gt;
|16	&lt;br /&gt;
|Beleu.	&lt;br /&gt;
|frei&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die vier Datenleitungen vom Display, die wir nicht brauchen, legen wir auf Masse. Zu den vier Datenleitungen brauchen wir noch die Leitungen  RS und E. Den Anschluss RW brauchen wir nicht und legen ihn deshalb auch auf Masse.&lt;br /&gt;
&lt;br /&gt;
Wir kommen somit für das Display mit 6 Datenleitungen aus, die wir alle an das Port D (vom Mega 8) anschließen.&lt;br /&gt;
&lt;br /&gt;
=== Das Programm für das LCD ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $regfile = &amp;quot;m8def.dat&amp;quot;&lt;br /&gt;
 $crystal = 4000000&lt;br /&gt;
&lt;br /&gt;
 Config Lcd = 16 * 2&lt;br /&gt;
 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4&lt;br /&gt;
 &lt;br /&gt;
 Cls&lt;br /&gt;
 Locate 1 , 1&lt;br /&gt;
 Lcd &amp;quot;Hallo Welt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieses Programm gibt den Text „Hallo Welt“ auf dem Display aus.&lt;br /&gt;
&lt;br /&gt;
'''Erklärung:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $regfile = &amp;quot;m8def.dat&amp;quot;&lt;br /&gt;
 $crystal = 4000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Definiert den Mega8 als Prozessor und einen 4 Mhz Quarz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config Lcd = 16 * 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Definiert das LCD-Display als 16*2 Anzeige.&lt;br /&gt;
Sind somit zwei Zeilen mit jeweils 16 Zeichen.&amp;lt;br&amp;gt; &lt;br /&gt;
Folgende weitere Typen von LCD’s könnte man angeben:&lt;br /&gt;
16*1 , 16*2 , 16*4 , 20*2 , 20*4 , 40*4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Definiert, wo das Display an den AVR angeschlossen wird. Db4, Db5, Db6....., E , RS sind die Pins vom LCD (siehe Tabelle)&amp;lt;br&amp;gt;&lt;br /&gt;
Portd.0, Portd.1 u.s.w., sind die Ports vom Mega8 (Port D)&amp;lt;br&amp;gt;&lt;br /&gt;
Heißt also: Die Leitung Db4 vom LCD wird an den Port  PD0&lt;br /&gt;
angeschlossen (Pin 2 am Mega8)&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Befehl, kann man das LCD auch an andere Pins vom AVR anschließen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cls&lt;br /&gt;
Locate 1 , 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cls löscht das LCD-Display und Locate 1,1 definiert die nächste Ausgabe mit 1.) Zeile, 1.)Position&amp;lt;br&amp;gt;&lt;br /&gt;
(Locate 2,10 wäre dann Ausgabe in Zeile 2 und an zehnter Position )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lcd &amp;quot;Hallo Welt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit LCD kann man nun den Text ausgeben. :-)&lt;br /&gt;
&lt;br /&gt;
== Sonderfall: LCDs mit mehr als 80 Zeichen ==&lt;br /&gt;
(mehr kann der Hitachi Controller nicht verarbeiten) Dieses betrifft z.B. die Module mit 4 * 27, bzw. 4 * 40 Zeichen. Um das Problem zu lösen wurde diesen Displays eine zweite E Leitung spendiert, alle anderen Leitungen des zweiten Controllers sind parallel angeschlossen. In jedem Fall ist das Datenblatt des Herstellers zu Rate zu ziehen.&lt;br /&gt;
In Bascom wird eine zusätzliche Bibliothek geladen um solche Displays ansprechen zu können. Dadurch ist es möglich quasi 2 Displays getrennt anzusteuern, bei einem 4 Zeilen-Display sind die beiden oberen und die zwei unteren getrennt zu selektieren.&lt;br /&gt;
&lt;br /&gt;
=== Das zusätzliche Programm für das LCD, bzw. die Änderungen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'Einbindung der LCD-Bibliothek für ein 2-Prozessor-Display&lt;br /&gt;
 $lib &amp;quot;lcd4e2.lbx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'Bascom kennt keine Display mit 27 * 4 Zeichen, daher 40 * 4 verwenden&lt;br /&gt;
 Config Lcd = 40 * 4&lt;br /&gt;
&lt;br /&gt;
'man achte auf die Ergänzung E2&lt;br /&gt;
 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , E2 = Portd.6 ,Rs = Portd.4&lt;br /&gt;
&lt;br /&gt;
' Systemvariable der LCD-Bibliothek (wichtig, bloß nicht ändern)&lt;br /&gt;
   Dim ___lcde As Byte&lt;br /&gt;
&lt;br /&gt;
' wählt die beiden oberen Zeilen aus&lt;br /&gt;
 ___lcde = 0 &lt;br /&gt;
&lt;br /&gt;
' löscht die beiden oberen Zeilen&lt;br /&gt;
   Cls&lt;br /&gt;
' wählt die obere Zeile aus&lt;br /&gt;
   Upperline&lt;br /&gt;
' schreibt in die erste Zeile an Position 3&lt;br /&gt;
   Locate 1 , 3&lt;br /&gt;
' den Text in Anführungszeichen&lt;br /&gt;
   Lcd &amp;quot;Zeile 1&amp;quot;&lt;br /&gt;
' wählt die zweite Zeile aus&lt;br /&gt;
   Lowerline&lt;br /&gt;
' schreibt in die zweite Zeile an Position 2&lt;br /&gt;
   Locate 2 , 2&lt;br /&gt;
' in diesem Fall den Inhalt der Variablem mit dem Namen Variable&lt;br /&gt;
   Lcd Variable&lt;br /&gt;
' unterdrückt den Cursor&lt;br /&gt;
   Cursor Off&lt;br /&gt;
&lt;br /&gt;
' wählt die beiden unteren Zeilen aus&lt;br /&gt;
   ___lcde = 1&lt;br /&gt;
   Waitms 100&lt;br /&gt;
   Cls&lt;br /&gt;
   Thirdline&lt;br /&gt;
   Locate 1 , 1&lt;br /&gt;
   Lcd &amp;quot;Zeile 3&amp;quot;&lt;br /&gt;
   Fourthline&lt;br /&gt;
   Locate 2 , 1&lt;br /&gt;
   Lcd &amp;quot;Zeile 4&amp;quot;&lt;br /&gt;
   Cursor Off&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
*  [[Benutzer:Roberto|Roberto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[Bascom]]&lt;br /&gt;
* [[LCD an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.sprut.de/electronic/lcd/index.htm#einleitung Sprut]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=LCD_an_RN-Control&amp;diff=18640</id>
		<title>LCD an RN-Control</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=LCD_an_RN-Control&amp;diff=18640"/>
				<updated>2011-09-15T23:12:35Z</updated>
		
		<summary type="html">&lt;p&gt;Michael der Echte: /* Selbsterklärendes Bascom Beispielprogramm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene Möglichkeiten um ein LCD an [[RN-Control]] anzuschließen. Zwei besonders bequeme stellen entweder das Board [[RN-KeyLCD]] oder der Adapter RN-LCDAdapter dar. Dieses Beispiel demonstriert die Verwendung von RN-LCDAdapter. &lt;br /&gt;
&lt;br /&gt;
==Vorteile des Adapters==&lt;br /&gt;
Dieser Adapter erleichtert die Verwendung eines sogenannten DIP-LCD´s erheblich, denn diese LCD´s haben ein etwas ungünstiges Raster und könnten daher nicht mit herkömmlichen Experimentierplatinen genutzt werden. Das LCD wird einfach in den Adapter eingesteckt (oder gelötet) und der Adapter über ein 10 poliges Flachkabel mit dem Controllerboard verbunden. Es kann also alles gesteckt werden. Ein Poti auf der Rückseite der Platine stellt den Kontrast ein. Der Adapter bietet auch die Möglichkeit per Software die Beleuchtung abzuschalten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_hand.gif|framed|center|Display kann auch gesteckt werden.]]&lt;br /&gt;
&lt;br /&gt;
==Einfacher Anschluss über Port B==&lt;br /&gt;
In unserem Beispiel verwenden wir den Wannenstecker von Port B damit wir keine wichtigen Ports wie I2C, RS232 etc. belegen. Allerdings kann es hier Konflikte geben wenn gleichzeitig der Motortreiber genutzt wird, denn zwei Ports überscheiden sich. Wenn man beides hintereinander nutzt kann man das per Software allerdings schon regeln.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Selbsterklärendes Bascom Beispielprogramm==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'###################################################&lt;br /&gt;
'Ein LCD EADIP204 mit RN-LCDAdapter an Port B&lt;br /&gt;
'von RN-Control angeschlossen&lt;br /&gt;
'rnlcdadaptertest.bas&lt;br /&gt;
'&lt;br /&gt;
'Autor: Frank&lt;br /&gt;
'Verwendet wurden: RN-Control &amp;amp; RN-LCDAdapter (robotikhardware.de)&lt;br /&gt;
'Weitere Beispiele sind im Roboternetz gerne willkommen!&lt;br /&gt;
'##############################################################&lt;br /&gt;
&lt;br /&gt;
$programmer = 12        'MCS USB  (Zeile weglassen wenn anderer Programmer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'  -------------- RN-Control übliche _____________________&lt;br /&gt;
Declare Function Tastenabfrage() As Byte&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$framesize = 32&lt;br /&gt;
$swstack = 32&lt;br /&gt;
$hwstack = 64&lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                                         'Quarzfrequenz&lt;br /&gt;
$baud = 9600&lt;br /&gt;
Config Scl = Portc.0                                        'Ports fuer IIC-Bus&lt;br /&gt;
Config Sda = Portc.1&lt;br /&gt;
&lt;br /&gt;
Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung&lt;br /&gt;
Config Pina.7 = Input                                       'Für Tastenabfrage&lt;br /&gt;
Porta.7 = 1                                                 'Pullup Widerstand ein&lt;br /&gt;
Dim Taste As Byte&lt;br /&gt;
Dim Ton As Integer&lt;br /&gt;
&lt;br /&gt;
I2cinit&lt;br /&gt;
Start Adc&lt;br /&gt;
Sound Portd.7 , 400 , 450                                   'BEEP&lt;br /&gt;
Sound Portd.7 , 400 , 250                                   'BEEP&lt;br /&gt;
Sound Portd.7 , 400 , 450                                   'BEEP&lt;br /&gt;
Print&lt;br /&gt;
Print &amp;quot;**** RN-CONTROL  V1.4 *****&amp;quot;&lt;br /&gt;
Print &amp;quot;Demoprogramm um Zusatzboard RN-LCDAdapter zu demonstrieren&amp;quot;&lt;br /&gt;
Print&lt;br /&gt;
'  -------------- Ende RN-Control übliche _____________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Config Pinb.4 = Output        'Spannung an LCD aktivieren&lt;br /&gt;
Lcdpower Alias Portb.4&lt;br /&gt;
&lt;br /&gt;
Config Pinb.6 = Output&lt;br /&gt;
Lcd_rw Alias Portb.6&lt;br /&gt;
Lcd_rw = 0&lt;br /&gt;
&lt;br /&gt;
Lcdpower = 1&lt;br /&gt;
Wait 1&lt;br /&gt;
&lt;br /&gt;
Config Lcd = 20 * 4a , Chipset = Ks077&lt;br /&gt;
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7&lt;br /&gt;
&lt;br /&gt;
Initlcd&lt;br /&gt;
&lt;br /&gt;
Cls&lt;br /&gt;
Locate 1 , 1                  'Cursor auf 1 Zeile, 1 Spalte&lt;br /&gt;
Lcd &amp;quot;RN-LCDADAPTER&amp;quot;&lt;br /&gt;
Locate 2 , 1&lt;br /&gt;
Lcd &amp;quot;an RN-Control&amp;quot;&lt;br /&gt;
Locate 3 , 1&lt;br /&gt;
Lcd &amp;quot;beides Bausaetze von&amp;quot;&lt;br /&gt;
Locate 4 , 1&lt;br /&gt;
Lcd &amp;quot;robotikhardware.de&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do&lt;br /&gt;
   Taste = Tastenabfrage()&lt;br /&gt;
   If Taste &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
&lt;br /&gt;
      Select Case Taste&lt;br /&gt;
&lt;br /&gt;
         Case 1:&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 2&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
         Case 3&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 4&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 5&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Licht wird umgeschaltet&amp;quot;&lt;br /&gt;
               Toggle Lcdpower&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      End Select&lt;br /&gt;
      Sound Portd.7 , 400 , 500                             'BEEP&lt;br /&gt;
   End If&lt;br /&gt;
&lt;br /&gt;
   Waitms 100&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Diese Unterfunktion fragt die Tastatur am analogen Port ab&lt;br /&gt;
' Sollte beim betätigen einer Taste kein Quittungston kommen, dann&lt;br /&gt;
' muss die die Tastenabfrage (Select Case Anweisung in Funktion )&lt;br /&gt;
' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in&lt;br /&gt;
' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen&lt;br /&gt;
' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen&lt;br /&gt;
&lt;br /&gt;
Function Tastenabfrage() As Byte&lt;br /&gt;
Local Ws As Word&lt;br /&gt;
&lt;br /&gt;
   Tastenabfrage = 0&lt;br /&gt;
   Ton = 600&lt;br /&gt;
   Ws = Getadc(7)&lt;br /&gt;
'   Print &amp;quot;ws= &amp;quot; ; Ws&lt;br /&gt;
   If Ws &amp;lt; 1010 Then&lt;br /&gt;
      Select Case Ws&lt;br /&gt;
         Case 400 To 455&lt;br /&gt;
            Tastenabfrage = 1&lt;br /&gt;
            Ton = 550&lt;br /&gt;
         Case 335 To 380&lt;br /&gt;
            Tastenabfrage = 2&lt;br /&gt;
            Ton = 500&lt;br /&gt;
         Case 250 To 305&lt;br /&gt;
            Tastenabfrage = 3&lt;br /&gt;
            Ton = 450&lt;br /&gt;
         Case 180 To 220&lt;br /&gt;
            Tastenabfrage = 4&lt;br /&gt;
            Ton = 400&lt;br /&gt;
         Case 100 To 130&lt;br /&gt;
            Tastenabfrage = 5&lt;br /&gt;
            Ton = 350&lt;br /&gt;
      End Select&lt;br /&gt;
      Sound Portd.7 , 400 , Ton                        'BEEP&lt;br /&gt;
   End If&lt;br /&gt;
&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[RN-Control]]&lt;br /&gt;
* [[RN-KeyLCD]] &lt;br /&gt;
* [[Bascom]]&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[Bascom und LCD's]]&lt;br /&gt;
* [[LCD an I2C Huckepack auf RN-Miniplatine]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
&lt;br /&gt;
*  [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=341 Anleitung zum RN-LCDAdapter]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Michael der Echte</name></author>	</entry>

	</feed>