<?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=Superdude</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=Superdude"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Superdude"/>
		<updated>2026-04-11T14:57:20Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12281</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12281"/>
				<updated>2007-06-23T10:09:41Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: /* Kontaktbelegung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlußbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || Richtung || D-SUB 9 pol. || D-SUB 25 pol.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DCD''' Trägerpegel (Data Carrier Detect) &lt;br /&gt;
 | Aus&lt;br /&gt;
 |1  &lt;br /&gt;
 |8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RxD''' Empfangsdaten (Receive Data) &lt;br /&gt;
 | Ein&lt;br /&gt;
 |2  &lt;br /&gt;
 |3&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''TxD''' Sendedaten&lt;br /&gt;
 | Aus&lt;br /&gt;
 |3  &lt;br /&gt;
 |2 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DTR''' Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |4  &lt;br /&gt;
 |20&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''GND''' Signal - Masse&lt;br /&gt;
 | -&lt;br /&gt;
 |5  &lt;br /&gt;
 |7 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DSR''' DÜE bereit (Data Set Ready)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |6  &lt;br /&gt;
 |6 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RTS''' Sender Einschalten (Request to Send)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |7  &lt;br /&gt;
 |4&lt;br /&gt;
|-&lt;br /&gt;
 |'''CTS''' Sender Bereit (Clear to Send)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |8  &lt;br /&gt;
 |5&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''RI''' Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |9  &lt;br /&gt;
 |22&lt;br /&gt;
    &lt;br /&gt;
|-  &lt;br /&gt;
 |'''GND''' Gehäuse - Masse &lt;br /&gt;
 | -&lt;br /&gt;
 | -  &lt;br /&gt;
 |1 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 | -&lt;br /&gt;
 | - &lt;br /&gt;
 |9-19, 21, 23-25&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Belegung bei vielen Roboter- und Mikrocontrollerboards ==&lt;br /&gt;
Bei vielen Roboterboards, insbesondere den RN-Boards (Roboternetz-Boards) wird auf den Platinen aus Platzgrünen ein kleiner dreipoliger Stecker für die RS232 Schnittstellen verwendet. Über einen kleinen einfachen Adapter kann man diese Stiftleiste sehr leicht mit dem PC verbinden. Die genaue Belegung findet man unter [[RN-Definitionen#RS232_Stecker]]&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
* [[RN-Definitionen#RS232_Stecker]] - 3 polige Steckerbelegung&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12280</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12280"/>
				<updated>2007-06-23T10:08:33Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: /* Kontaktbelegung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlußbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || Richtung || D-SUB 9 pol. || D-SUB 25 pol.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DCD''' Trägerpegel (Data Carrier Detect) &lt;br /&gt;
 | Aus&lt;br /&gt;
 |1  &lt;br /&gt;
 |8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RxD''' Empfangsdaten (Receive Data) &lt;br /&gt;
 | Ein&lt;br /&gt;
 |2  &lt;br /&gt;
 |3&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''TxD''' Sendedaten&lt;br /&gt;
 | Aus&lt;br /&gt;
 |3  &lt;br /&gt;
 |2 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DTR''' Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |4  &lt;br /&gt;
 |20&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''GND''' Signal - Masse&lt;br /&gt;
 | -&lt;br /&gt;
 |5  &lt;br /&gt;
 |7 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DSR''' DÜE bereit (Data Set Ready)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |6  &lt;br /&gt;
 |6 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RTS''' Sender Einschalten (Request to Send)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |7  &lt;br /&gt;
 |4&lt;br /&gt;
|-&lt;br /&gt;
 |'''CTS''' Sender Bereit (Clear to Send)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |8  &lt;br /&gt;
 |5&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''RI''' Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |9  &lt;br /&gt;
 |22&lt;br /&gt;
    &lt;br /&gt;
|-  &lt;br /&gt;
 |'''GND''' Gehäuse - Masse &lt;br /&gt;
 | -&lt;br /&gt;
 | -  &lt;br /&gt;
 |1 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 | -&lt;br /&gt;
 | - &lt;br /&gt;
 |9-19, 21, 23-25&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Richtung'' bezieht sich aus Sicht des Modems.&lt;br /&gt;
&lt;br /&gt;
== Belegung bei vielen Roboter- und Mikrocontrollerboards ==&lt;br /&gt;
Bei vielen Roboterboards, insbesondere den RN-Boards (Roboternetz-Boards) wird auf den Platinen aus Platzgrünen ein kleiner dreipoliger Stecker für die RS232 Schnittstellen verwendet. Über einen kleinen einfachen Adapter kann man diese Stiftleiste sehr leicht mit dem PC verbinden. Die genaue Belegung findet man unter [[RN-Definitionen#RS232_Stecker]]&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
* [[RN-Definitionen#RS232_Stecker]] - 3 polige Steckerbelegung&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12279</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12279"/>
				<updated>2007-06-23T10:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: /* nach 9 poligerLeiste sortiert (finde ich praktischer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlußbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || Richtung || D-SUB 9 pol. || D-SUB 25 pol.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DCD Trägerpegel (Data Carrier Detect) &lt;br /&gt;
 | Aus&lt;br /&gt;
 |1  &lt;br /&gt;
 |8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |RxD Empfangsdaten (Receive Data) &lt;br /&gt;
 | Ein&lt;br /&gt;
 |2  &lt;br /&gt;
 |3&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |TxD Sendedaten&lt;br /&gt;
 | Aus&lt;br /&gt;
 |3  &lt;br /&gt;
 |2 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DTR Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |4  &lt;br /&gt;
 |20&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |GND Signal - Masse&lt;br /&gt;
 | -&lt;br /&gt;
 |5  &lt;br /&gt;
 |7 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DSR DÜE bereit (Data Set Ready)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |6  &lt;br /&gt;
 |6 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |RTS Sender Einschalten (Request to Send)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |7  &lt;br /&gt;
 |4&lt;br /&gt;
|-&lt;br /&gt;
 |CTS Sender Bereit (Clear to Send)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |8  &lt;br /&gt;
 |5&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |RI Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |9  &lt;br /&gt;
 |22&lt;br /&gt;
    &lt;br /&gt;
|-  &lt;br /&gt;
 |GND Gehäuse - Masse &lt;br /&gt;
 | -&lt;br /&gt;
 | -  &lt;br /&gt;
 |1 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 | -&lt;br /&gt;
 | - &lt;br /&gt;
 |9-19, 21, 23-25&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Richtung'' bezieht sich aus Sicht des Modems.&lt;br /&gt;
&lt;br /&gt;
== Belegung bei vielen Roboter- und Mikrocontrollerboards ==&lt;br /&gt;
Bei vielen Roboterboards, insbesondere den RN-Boards (Roboternetz-Boards) wird auf den Platinen aus Platzgrünen ein kleiner dreipoliger Stecker für die RS232 Schnittstellen verwendet. Über einen kleinen einfachen Adapter kann man diese Stiftleiste sehr leicht mit dem PC verbinden. Die genaue Belegung findet man unter [[RN-Definitionen#RS232_Stecker]]&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
* [[RN-Definitionen#RS232_Stecker]] - 3 polige Steckerbelegung&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12278</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=12278"/>
				<updated>2007-06-23T09:50:47Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: /* Kontaktbelegung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlußbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || D-SUB 9 pol. || D-SUB 25 pol.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DCD Trägerpegel (Data Carrier Detect)&lt;br /&gt;
 |1  &lt;br /&gt;
 |8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |RxD Empfangsdaten (Receive Data) &lt;br /&gt;
 |2  &lt;br /&gt;
 |3&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |TxD Sendedaten&lt;br /&gt;
 |3  &lt;br /&gt;
 |2 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DTR Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 |4  &lt;br /&gt;
 |20&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |GND Signal - Masse&lt;br /&gt;
 |5  &lt;br /&gt;
 |7 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |DSR DÜE bereit (Data Set Ready)&lt;br /&gt;
 |6  &lt;br /&gt;
 |6 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |RTS Sender Einschalten (Request to Send)&lt;br /&gt;
 |7  &lt;br /&gt;
 |4&lt;br /&gt;
|-&lt;br /&gt;
 |CTS Sender Bereit (Clear to Send)&lt;br /&gt;
 |8  &lt;br /&gt;
 |5&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |RI Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 |9  &lt;br /&gt;
 |22&lt;br /&gt;
    &lt;br /&gt;
|-  &lt;br /&gt;
 |GND Gehäuse - Masse &lt;br /&gt;
 | -  &lt;br /&gt;
 |1 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 | - &lt;br /&gt;
 |9-19, 21, 23-25&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Belegung bei vielen Roboter- und Mikrocontrollerboards ==&lt;br /&gt;
Bei vielen Roboterboards, insbesondere den RN-Boards (Roboternetz-Boards) wird auf den Platinen aus Platzgrünen ein kleiner dreipoliger Stecker für die RS232 Schnittstellen verwendet. Über einen kleinen einfachen Adapter kann man diese Stiftleiste sehr leicht mit dem PC verbinden. Die genaue Belegung findet man unter [[RN-Definitionen#RS232_Stecker]]&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
* [[RN-Definitionen#RS232_Stecker]] - 3 polige Steckerbelegung&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Avr-gcc_und_avrdude_installieren&amp;diff=12227</id>
		<title>Diskussion:Avr-gcc und avrdude installieren</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Avr-gcc_und_avrdude_installieren&amp;diff=12227"/>
				<updated>2007-06-03T23:04:35Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;super Tutorial!&lt;br /&gt;
ein paar kleinigkeiten im Makefile warn falsch, habs ausgebessert.&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Avr-gcc_und_avrdude_installieren&amp;diff=12226</id>
		<title>Avr-gcc und avrdude installieren</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Avr-gcc_und_avrdude_installieren&amp;diff=12226"/>
				<updated>2007-06-03T23:00:15Z</updated>
		
		<summary type="html">&lt;p&gt;Superdude: /* Beispiel-Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt bereits eine sehr gute Anleitung für das Installieren vom [[avr-gcc]], aber sie ist etwas veraltet. Für den original Text siehe [http://www.tldp.org/linuxfocus/English/November2004/article352.shtml].&lt;br /&gt;
Ich werde im folgenden nur das nötigste von diesem Artikel kopieren.&lt;br /&gt;
&lt;br /&gt;
Es gibt drei Teile. Im ersten Teil wird die Installation erklärt, im zweiten wird gezeigt, wie man damit denn nun seine Programme für den [[Microcontroller|MCU]] erstellt. Im dritten Teil stehen noch ein paar typische Fehlermeldungen und die Lösungen.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
Also los. Wir brauchen folgende Software:&lt;br /&gt;
&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/binutils/ binutils-2.17.tar.bz2]&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/ gcc-core-4.1.2.tar.bz2] &lt;br /&gt;
* [http://savannah.nongnu.org/download/avr-libc/ avr-libc-1.4.5.tar.bz2]    Dort findet ihr auch das Manual der avr-libc&lt;br /&gt;
* [http://savannah.nongnu.org/download/avrdude/ avrdude-5.3.1.tar.gz]       &lt;br /&gt;
&lt;br /&gt;
Als erstes erstellen wir das Verzeichnis, in das der avr-gcc installiert wird:&lt;br /&gt;
&lt;br /&gt;
* Als root:&lt;br /&gt;
 mkdir /usr/local/avr&lt;br /&gt;
&lt;br /&gt;
Und das Verzeichnis in dem die Programme liegen werden:&lt;br /&gt;
&lt;br /&gt;
* Als root:&lt;br /&gt;
 mkdir /usr/local/avr/bin&lt;br /&gt;
&lt;br /&gt;
Dieses Verzeichnis wird auch gleich in die &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt;-Variable geschrieben:&lt;br /&gt;
 export PATH=$PATH:/usr/local/avr/bin&lt;br /&gt;
&lt;br /&gt;
Achtung, dieser Befehl ist nur in dieser eine Konsole in der ihr seid gültig und auch nur solange wie diese offen ist. Um die Änderung systemweit wirksam zu machen, müsst ihr in die Datei &amp;lt;tt&amp;gt;/etc/profile&amp;lt;/tt&amp;gt; den &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; nachtragen. Bei mir sieht das z.B. so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Set the default system $PATH:&lt;br /&gt;
PATH=&amp;quot;/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games[b]:/usr/local/avr/bin[/b]&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[binutils]]==&lt;br /&gt;
&lt;br /&gt;
Mit den binutils bekommt ihr Programme wie z.b. &amp;lt;tt&amp;gt;avr-as&amp;lt;/tt&amp;gt; (Assembler), &amp;lt;tt&amp;gt;avr-ld&amp;lt;/tt&amp;gt; (Linker), &amp;lt;tt&amp;gt;avr-objcopy&amp;lt;/tt&amp;gt; (Um die Intel-Hex-Files zu erstellen).&lt;br /&gt;
&lt;br /&gt;
Und so wird's gemacht (Das entpacken kann eine Weile dauern):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar jxf binutils-2.17.tar.bz2&lt;br /&gt;
cd binutils-2.17/&lt;br /&gt;
mkdir obj-avr&lt;br /&gt;
cd obj-avr&lt;br /&gt;
../configure --target=avr --prefix=/usr/local/avr --disable-nls&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Als root:&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
==[[avr-gcc]]==&lt;br /&gt;
&lt;br /&gt;
avr-gcc ist unser eigentlicher Compiler. Er installiert sich wie folgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar jxf gcc-core-4.1.2.tar.bz2&lt;br /&gt;
cd gcc-4.1.2&lt;br /&gt;
&lt;br /&gt;
mkdir obj-avr&lt;br /&gt;
cd obj-avr&lt;br /&gt;
../configure --target=avr --prefix=/usr/local/avr --disable-nls --enable-languages=c --disable-libssp&lt;br /&gt;
&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Falls ihr jetzt beim Installieren Fehler bekommt die sich z.B so äussern:&lt;br /&gt;
 make[2]: avr-ranlib: Command not found&lt;br /&gt;
Dann liegt &amp;lt;tt&amp;gt;/usr/local/avr/bin&amp;lt;/tt&amp;gt; wider erwarten nicht in &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt;. Führt diesen Befehl als root nochmal aus, dann sollte es gehen:&lt;br /&gt;
 export PATH=$PATH:/usr/local/avr/bin&lt;br /&gt;
&lt;br /&gt;
* Als root:&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
==avr C-library ([[avr-libc]])==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar jxf avr-libc-1.4.5.tar.bz2&lt;br /&gt;
cd avr-libc-1.4.5&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/usr/local/avr --build=`./config.guess` --host=avr&lt;br /&gt;
&lt;br /&gt;
make &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Als root:&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[avrdude]]==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar xzf avrdude-5.3.1.tar.gz&lt;br /&gt;
cd avrdude-5.3.1&lt;br /&gt;
./configure --prefix=/usr/local/avr&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Als root:&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Wer den avr910 Programmer benutzt, muss avrdude erst fit für einige neuere Controller machen.&lt;br /&gt;
([[ATtiny2313]], [[ATmega162]], ...). Dazu müsst ihr die Configdatei von avrdude anpassen. Ihr findet sie unter &amp;lt;tt&amp;gt;/usr/local/avr/etc/avrdude.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Folgende Zeilen müssen ergänzt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
# ATtiny2313&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
part&lt;br /&gt;
     id            = &amp;quot;t2313&amp;quot;;&lt;br /&gt;
     desc          = &amp;quot;ATtiny2313&amp;quot;;&lt;br /&gt;
     stk500_devcode   = 0x23;&lt;br /&gt;
##  Try the STK500 devcode:&lt;br /&gt;
   [b]avr910_devcode   = 0x23;[/b]&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
# ATmega8535&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
part&lt;br /&gt;
    id               = &amp;quot;m8535&amp;quot;;&lt;br /&gt;
    desc             = &amp;quot;ATMEGA8535&amp;quot;;&lt;br /&gt;
    stk500_devcode   = 0x64;&lt;br /&gt;
   [b] avr910_devcode   = 0x69;[/b]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Analog verfahren für [[ATmega64]], [[ATmega162]] und [[ATmega169]]. Die devicecodes hiefür sind:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
m64:     avr910_devcode   = 0x45;&lt;br /&gt;
m162:    avr910_devcode   = 0x62;&lt;br /&gt;
m169:    avr910_devcode   = 0x78;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer sich einen eigenen avr910 Programmer bauen will, dem sei diese Seite ans Herz gelegt:&lt;br /&gt;
[http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html].&lt;br /&gt;
Ich habe die Version genommen und um ein Buffer erweitert. Die Bauanleitung dafür gibt es bald auf [http://www.amee-bot.de unserer Roboterseite]. &lt;br /&gt;
&lt;br /&gt;
Somit hätten wir nun alles was wir brauchen installiert.&lt;br /&gt;
&lt;br /&gt;
=Beispiel-Projekt=&lt;br /&gt;
&lt;br /&gt;
Hier erstmal ein winziges Beispielprogramm für den [[ATtiny2313]].&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  blink.c&lt;br /&gt;
 *  ATtiny2313 mit 1 MHz&lt;br /&gt;
 *  PORTB wird ueber ein Timer alle 0.263s ein- und ausgeschaltet. Das entspricht 3.81Hz&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/signal.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SIGNAL (SIG_TIMER0_OVF)&lt;br /&gt;
{&lt;br /&gt;
  PORTB =~ PORTB; // PORTB inventieren&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  DDRB  = 0xFF; // PORTB als Ausgang schalten&lt;br /&gt;
  PORTB = 0x00; // Alle Ausgaenge auf 0 schalten&lt;br /&gt;
&lt;br /&gt;
  TCCR0B |= (1 &amp;lt;&amp;lt; CS02) | (1 &amp;lt;&amp;lt; CS00); //Prescaler auf 1024 stellen&lt;br /&gt;
  TIMSK  |= (1 &amp;lt;&amp;lt; TOIE0);              // Timer 0 Overflow Interrupt enable&lt;br /&gt;
&lt;br /&gt;
  sei(); // Interrupts einschalten&lt;br /&gt;
&lt;br /&gt;
  for(;;); //ever&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Den Quelltext nehmt ihr und speichert ihn in die Datei &amp;lt;tt&amp;gt;blink.c&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Jetzt kommt das [[make|Makefile]]. Ich habe schonmal ein einfaches vorbereitet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TARGET = blink&lt;br /&gt;
MCU    = attiny2313&lt;br /&gt;
CC     = avr-gcc&lt;br /&gt;
OBJCOPY=avr-objcopy&lt;br /&gt;
CFLAGS =-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues -save-temps -fno-common&lt;br /&gt;
&lt;br /&gt;
all: $(TARGET).hex&lt;br /&gt;
&lt;br /&gt;
$(TARGET).hex : $(TARGET).o&lt;br /&gt;
	$(OBJCOPY) -j .data -j .text -O ihex $^ $@&lt;br /&gt;
&lt;br /&gt;
$(TARGET).elf: $(TARGET).o&lt;br /&gt;
	$(CC) $(CFLAGS) -o $@ -Wl,-Map,$(TARGET).map $^&lt;br /&gt;
&lt;br /&gt;
$(TARGET).o : $(TARGET).c&lt;br /&gt;
	$(CC) $(CFLAGS) -c $^&lt;br /&gt;
&lt;br /&gt;
load: $(TARGET).hex&lt;br /&gt;
	avrdude -p t2313 -c avr910 -U flash:w:$(TARGET).hex -v&lt;br /&gt;
&lt;br /&gt;
clean:&lt;br /&gt;
	rm -f *.o *.map *.elf *.hex *.s *.i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das speichert ihr in der Datei &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; im selben Ordner, in der auch die Datei &amp;lt;tt&amp;gt;blink.c liegt&amp;lt;/tt&amp;gt;. '''Unbedingt darauf achten, daß die Einrückungen durch TABs erfolgen und nicht durch Leerzeichen!'''&lt;br /&gt;
&lt;br /&gt;
Dann in der Konsole &amp;quot;&amp;lt;tt&amp;gt;[[make]]&amp;lt;/tt&amp;gt;&amp;quot; tippen und es sollte compiliert werden. Mit &amp;quot;&amp;lt;tt&amp;gt;make load&amp;lt;/tt&amp;gt;&amp;quot; wird das Hexfile dann in den MCU übertragen.&lt;br /&gt;
&lt;br /&gt;
'''Erklärung:'''&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;MCU=attiny2313&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;MCU&amp;lt;/tt&amp;gt; ist eine Variable mit dem Inhalt &amp;lt;tt&amp;gt;attiny2313&amp;lt;/tt&amp;gt;. Überall, wo jetzte &amp;lt;tt&amp;gt;$(MCU)&amp;lt;/tt&amp;gt; steht, wird der Variabelninhalt benutzt. Genauso funktioniert das auch mit &amp;lt;tt&amp;gt;TARGET&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;CC&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OBJCOPY&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;CFLAGS&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Nachdem ihr &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; erfolgreich ausgeführt habt, liegen in dem Ordner die Hexfile und eine Datei mit der Endung&amp;lt;tt&amp;gt;&amp;amp;nbsp;.s&amp;lt;/tt&amp;gt;. Darin sind die Assemblerbefehle und -direktiven, die der Compiler aus dem C-Code gemacht hat. Wer so etwas nicht braucht, der kann den Parameter &amp;lt;tt&amp;gt;-save-temps&amp;lt;/tt&amp;gt; in der Variable &amp;lt;tt&amp;gt;CFLAGS&amp;lt;/tt&amp;gt; getrost entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn ihr &amp;quot;&amp;lt;tt&amp;gt;make load&amp;lt;/tt&amp;gt;&amp;quot; ausfürt, wird avrdude gestarte.&lt;br /&gt;
;&amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt;: gibt an, um welchen MCU es sich handelt&lt;br /&gt;
;&amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;: gibt an, um welchen Programmer es sich handelt. Hier könnte z.B &amp;lt;tt&amp;gt;stk500&amp;lt;/tt&amp;gt; stehen.&lt;br /&gt;
;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;-U flash:w:$(TARGET).hex&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;: bedeutet einfach, dass das Programm in den Flash geschrieben werden soll. &amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt; steht für Schreiben, &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; für Lesen und &amp;lt;tt&amp;gt;v&amp;lt;/tt&amp;gt; für verify. Dann kommt die Variable &amp;lt;tt&amp;gt;$(TARGET)&amp;lt;/tt&amp;gt;, die besagt, welche Datei genau übertragen werden soll. &lt;br /&gt;
;&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;: bedeutet ''&amp;quot;Verbose Output&amp;quot;'' und gibt euch mehr Informationen auf der Konsole aus.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;tt&amp;gt;make clean&amp;lt;/tt&amp;gt; werden alle Object-Dateien etc. gelöscht.&lt;br /&gt;
&lt;br /&gt;
=Fehlermeldungen=&lt;br /&gt;
&lt;br /&gt;
sollten eigentlich keine vorkommen. Wenn doch, vergewissert euch, dass ihr euch genau an die&lt;br /&gt;
Anleitung gehalten und nichts falsch abgeschrieben habt!&lt;br /&gt;
&lt;br /&gt;
Hier ein paar typische Fehlermeldungen und ihr Lösungen:&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;Permission denied&amp;lt;/tt&amp;gt;: Ihr habt nicht die Rechte, um diesen Befehl auszuführen. Höchswahrscheinlich müsst ihr den Befehl als root ausführen.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;make[2]: avr-ranlib: Command not found&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;:&amp;lt;tt&amp;gt;/usr/local/avr/bin&amp;lt;/tt&amp;gt; liegt nicht in &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt;. Folgendes Command ausführen:&lt;br /&gt;
:&amp;lt;pre&amp;gt;export PATH=$PATH:/usr/local/avr/bin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;programmer is not responding&amp;lt;/tt&amp;gt;: Es kann keine Verbindung zum Programmer aufgenommen werden: Defektes Kabel, Programmer an der falschen Schnittstelle angeschlossen (default: &amp;lt;tt&amp;gt;/dev/ttyS0&amp;lt;/tt&amp;gt;), kein Strom am Programmer etc.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;can't open device &amp;quot;/dev/ttyS0&amp;quot;: Permission denied&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;: Als normaler User darf man auf die serielle Schnittstelle nicht lesen oder schreiben. Folgenden Befehl als root ausführen:&lt;br /&gt;
:&amp;lt;pre&amp;gt;chmod 666 /dev/ttyS0&amp;lt;/pre&amp;gt;&lt;br /&gt;
:{|&lt;br /&gt;
Zweite und bessere Möglichkeit, die Rechte zu ändern ist es, den Benutzer in die tty-Gruppe auzunehmen.&lt;br /&gt;
Hier ein Beispiel für Gentoo.&lt;br /&gt;
Die Gruppe kann bei anderen Distributionen auch anders heißen!&lt;br /&gt;
&lt;br /&gt;
Als root in die Konsole schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ls -all /dev/ttyS0&lt;br /&gt;
crw-rw---- 1 root tty 4, 64 25. Jun 02:12 /dev/ttyS0&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man schön erkennen, daß die serielle Schnittstelle dem Benutzer root gehört und die Gruppe &amp;lt;tt&amp;gt;tty&amp;lt;/tt&amp;gt; darauf zugreifen darf. Mit einem einfachen&lt;br /&gt;
 &amp;gt; usermod -a -G tty sebastian&lt;br /&gt;
wird der User &amp;lt;tt&amp;gt;sebastian&amp;lt;/tt&amp;gt; in die tty-Gruppe aufgenommen.&lt;br /&gt;
&lt;br /&gt;
Noch ein Test, ob alles geklappt hat:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; groups sebastian&lt;br /&gt;
tty wheel audio cdrom dialout video games usb users portage scanner&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Danach muss sich Benutzer &amp;lt;tt&amp;gt;sebastian&amp;lt;/tt&amp;gt; neu einlogen und wir sind fertig.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil hierbei ist, daß man Rechte für alle Geräte der Gruppe &amp;lt;tt&amp;gt;tty&amp;lt;/tt&amp;gt; erlangt, also alle seriellen Schnittstellen sowie [[USB]]&amp;amp;nbsp;&amp;amp;harr;&amp;amp;nbsp;[[RS232]]-Adapter, und man braucht an den eigentlichen Rechten nichts zu verändern.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Web-Links=&lt;br /&gt;
*[http://www.nongnu.org/avr-libc/user-manual/install_tools.html ''&amp;quot;Installing the GNU Tool Chain&amp;quot;''] Hilfe zum Build und Installation von GCC, binutils, etc unter Linux&lt;br /&gt;
* [http://www.linuxfocus.org/Deutsch/November2004/article352.shtml www.linuxfocus.org (Artikel)] - Tipps zu Build und Installation von avr-gcc, binutils und avr-libc unter Linux&lt;br /&gt;
* [http://users.rcn.com/rneswold/avr/ Rich Neswold: ''A GNU Development Environment for the AVR Microcontroller'']&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/24166 www.mikrocontroller.net (Foren-Beitrag)] - Installation von GCC und Toolchain unter Mac OS X&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[avr-gcc]]&lt;br /&gt;
* [[WinAVR]]&lt;br /&gt;
&lt;br /&gt;
=Quelle=&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=125603#125603 www.roboternetz.de (Foren-Beitrag)] ''avrgcc + avrdude installieren''&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
*[[Benutzer:Kater|Kater]] (Manuscript)&lt;br /&gt;
*[[Benutzer:SprinterSB|SprinterSB]] (Transcript und Typo)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Quellcode C]]&lt;/div&gt;</summary>
		<author><name>Superdude</name></author>	</entry>

	</feed>