PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATmega8 - RS232 Kommunikation



manuuE
24.10.2010, 20:30
Guten Abend,

ich hab eine Frage zur Kommunikation zwischen PC und Controller. Ich habe einen Schaltplan gezeichnet für die Übertragung (siehe Anhang, bzw. würde er funktionieren?). Aber wie bekomme ich dann eine Verbindung, wenn ich den Controller nun am PC über ein Kabel anschließe erstellt es sofort einen COM-Port? Kann ich den Port dann gleich ansprechen über eine .NET Anwendung?

MfG manuue

shedepe
24.10.2010, 20:39
Schau dir die System.IO.Ports.SerialPort Klasse an. Insbesondere die statische Funktion SerialPort.GetPortNames sollte dir weiter helfen.

PS. dein SerialPort ist aus PC sicht immer da. Ob du was angestöpselt hast oder nicht ist dem ziemlich egal

manuuE
24.10.2010, 20:52
Danke, die Programmierung ist kein Problem, aber die technische Verständlichkeit ein bisschen!

BMS
24.10.2010, 21:04
Hallo,

hier kannst du nochmals vergleichen: (Bild aus dem RN-Wissen-Artikelbereich)
http://rn-wissen.de/images/6/65/Avrtutorial_grundschaltung_max232.gif
Brauchst du wirklich die Handshake-Leitungen? Normalerweise reichen Tx/Rx und GND.
Den Schirm vom Sub-D-Stecker solltest du auch noch mit GND verbinden.
Hast du die Versorgung vom MAX232 mit einem 100nF Ker.Kondensator abgeblockt?

Mit .NET kenne ich mich nicht aus, hab bisher immer Terminal verwendet oder mit Blitzplus und der PORT.DLL von B.Kainka etwas dafür programmiert ^^

Grüße,
Bernhard

manuuE
24.10.2010, 21:12
Alle Kondensatoren mit 4,7.
Ne, ist nicht zwingend! Aber es funktioniert so diese Schaltung und erstellt mir einen COM-Port?

Und für was ist ein Quarz noch notwendig?

BMS
24.10.2010, 21:23
Der Quarz kommt zwischen XTAL1 und XTAL2 am Atmega. Sorgt für einen genauen Arbeitstakt vom Mikrocontroller, das ist wichtig, damit er das Timing vom RS232 präzise einhalten kann.

Mit dem Kondensator meinte ich nicht die 4 in deinem Schaltplan, sondern es gehört eigentlich immer bei jedem IC ein 100nF Kondensator zwischen +5V und GND zur Unterdrückung von Störungen.

Wenn du den Atmega noch so programmierst, dass er über den "UART" (entspricht RS232) Daten empfangen und ausgeben kann, dann kannst du ihn über den COM-Port ansprechen. PC und Mikrocontroller müssen natürlich die gleiche Baudrate haben, sonst "verstehen" sie sich gegenseitig nicht.

manuuE
24.10.2010, 21:44
Achso, ja klar :)

Danke!