Hi, ich bin Einsteiger im Gebiet der µC, daher entschuldigt bitte, wenn meine Frage etwas doof ist. Ich würde gerne einen ATtiny 2313 an den RS-232 meines Pc's anschließen und ihn bestimmte Operationen ausführen lassen. Ich stelle mir das so vor, das ich dem µC einen bestimmten Byte eine bestimmte Operation zuordne. Also z.B. schrieb ich mit in C# eine Formanwendung, die verschiedene Buttons hat und jeder Button sendet dem µC ein anderen Byte, worauf er reagiert. (sollte Byte nicht das richtige Wort sein entschuldigt bitte) Jetzt weiß ich aber nicht genau wie ich das anstellen soll. Ich würde jetzt erstmal vermutn, das ich den TX Kanal des RS-232 an den PD0(RXD) und den RX Kanal des RS-232 an den PD1(TXD) anschließe und dann die entsprechende Software dazu erstelle. Würde das so aus hardwaretechnischer Sicht so klappen? Oder ist das komplett falsch? Wenn ja wie muss ich dann Vorgehen? Ich werde aus den 222 Seiten des Datasheets nicht richtig schlau.
> Ich würde jetzt erstmal vermutn, das ich den TX Kanal des RS-232 an den > PD0(RXD) und den RX Kanal des RS-232 an den PD1(TXD) anschließe und dann > die entsprechende Software dazu erstelle. > > Würde das so aus hardwaretechnischer Sicht so klappen? Nö, der Attiny2313 würde das übelnehmen, weil er TTL Pegel erwartet und mit dem RS232 Pegel nicht zurecht kommt. Spanische Dörfer? Dann im Artikel RS232 schmökern, vielleicht den Artikel Pegelwandler lesen und undedingt die Tutorials AVR-Tutorial (Assembler) oder AVR-GCC-Tutorial (C) zum Thema UART lesen.
Hmm, ja darauf hätte ich auch kommen können, zum Glück hab ich es nicht getestet :) Ich nehme an, wenn ich einfach die -12V "wegschneide" und die +12V auf +5V runter regele "versteht" der Tiny das nicht mehr oder? Also brauche ich zwangsläufig noch so ein MAX232 oder gibt es da noch andere Wege?
Guck dir das mal an, könnte was für dich sein: http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html
Ohhh bei so geringen Preisen ist das echt eine Überlegung, nur da sind ja die Versandkosten höher als der Wandler. Schwere Entscheidung. Würde denn meinem Vorhaben sonst noch etwas im Wege stehen, was ich bisher übersehen habe?
Dshing Sung schrieb: > Ich nehme an, wenn ich einfach die -12V "wegschneide" und die +12V auf > +5V runter regele "versteht" der Tiny das nicht mehr oder? das geht im Prinzip schon, allerdings nicht mit dem eingebauten UART, das Signal ist nämlich invertiert: -12V ist 1 +12V ist 0 lösen könntest du das mit einem Software UART oder per Hardware das Signal invertieren (oder doch gleich einen richtigen Wandler einsetzen)
Aber das sollte dann ja nur beim Antworten Probleme Bereiten, bei Senden an den µC müsste es dann aber gehen.
Nee, das TTL Signal und das RS232 Signal sind gegenseitig invers. TTL: http://www.mikrocontroller.net/wikifiles/8/8f/Seri_ttl.png RS232: http://www.mikrocontroller.net/wikifiles/e/e7/Rs232.png Die Hardware-UART erkennt ein Startbit als LOW TTL (bzw. RS232 >+3V) nach HIGH TTL (RS232 <-3V) und startet damit den Empfang des Datenframes bis zum Stopbit. Diese Situation bei Hardware-UART kannst du durch Spannungsbegrenzung des RS232-Signals auf 0 bis +5V allein nicht verwirklichen. Deshalb der(die) Inverter (Senden&Empfangen). Die bereits von Walter genannte Alternative ohne Hardware-Inverter wäre Software-UART. Dort machst du die Erkennung des Startbits und die Invertierung selbst per Programm.
Wenn der µC nur empfangen soll, müsste diese Schaltung funktionieren. Am Kollektor des Transistors kann man das invertierte Signal mit 0V / 5V abnehmen. Grüße
Ok, dann werde ich wohl mal 5€ investieren, und mir die Arbeit sparen. Danke an alle für die Hilfe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.