Archiv verlassen und diese Seite im Standarddesign anzeigen : Uart zwischen Arduino und Atmega8
Unregistriert
06.06.2016, 14:33
Hi,
der Aufbau ist folgendermaßen:
Arduino Nano (atmega328) und ein Atmega8
Masse verbunden, Rx auf Tx und Tx auf Rx
Usb nicht verbunden
Baud: 9600
Gibt es einen Grund das alles funktioniert also Arduino -> Atmega8, PC <-> Arduino und PC <-> Atmega8, aber Atmega8 -> Arduino geht nicht?
Die Rx Led auf dem Ardunio blink zwar auf aber es wird nichts empfangen.(PC mit usb zu UART wandler (5V Level))
Vielen Dank für die Hilfe
Wie schaut die Taktversorgung aus? Quarz, interner Takt, oder was verwendest Du ? Der interne Takt kann manchmal das Problem sein!
Hast du schon mal RX und TX des Arduino geschliffen? Funktioniert das ?
Hast du schon mal RX und TX des ATMEGA 8 geschliffen? Funktioniert das ?
Passen auch die restlichen Einstellungen wie die Anzahl der Stoppbits und die Parity Einstellung ?
Du könntest ja auch mal auf die TX des ATMEGA 8 die RX des PC Interfaces und! die RX des ARDUINO legen - Kommen dann Daten ?
Unregistriert
07.06.2016, 13:52
Letztes habe ich bereits getan also tx vom atmega8 -> Rx am PC und Tx Pc auf Rx ardunino. Wenn ich am pc sage er soll einfach alles vom Rx auf Tx weiterleiten geht alles und die daten, die man am PC sehen kann sind natürlich dann auch richtig.
Das hört sich für mich nach einer falschen StoppBit Konfiguration an, PC Schnittstellen sind nicht so kleinlich wenn man sagt "1 Stoppbit" aber dann mit 2en sendet
könntest du die initialisierung für dein mega mal mit uns teilen ? :)
Unregistriert
07.06.2016, 14:16
Programmiert in Bascom:
Einfach die Baudrate gesetzt, fertig.
Nach Dokumentation ist standardmäßig ein Stopbit gesetzt.
Um die Frage von wkrug aufzufassen
Wie schaut die Taktversorgung aus? Quarz, interner Takt, oder was verwendest Du ? und wie hast du die fuse gesetzt? Was für einen Quarz benutzt du? hast du die exakte Frequenz bei $crystal auch angegeben?=
Unregistriert
07.06.2016, 14:35
Takt:
intern 8 Mhz + 64
$crystal = 8000000
Fuses: Teilung durch 8 deaktiviert
Vorschlag zum Test, ob es sich um ein Timing-Problem handelt:
Auf dem Atmega8 statt einer Baudrate von 9600 mal mit 9700 bzw. 9500 experimentieren.
Takt:
intern 8 Mhz + 64
Wenn sonst alles passt könnte beim Interntakt genau das Problem liegen.
War auch mal ein Thema im Computerclub 3.
Versuch mal den Vorschlag mit den ( eigentlich ) zu hohen / zu niedrigen Baudraten, oder klemm mal einen Quarz(-oszillator) an den ATMEGA mit entsprechenden Fuses.
Mein Vorschlag PC und ARDUINO parallel zu schalten zielte eigentlich darauf ab, Probleme in der Beschaltung zu erkennen.
Das es mit dem PC alleine funktionierte hab ich schon kapiert.
Möglich wär auch noch ein Oszilloskop mal anzuschließen und die Frames zu begutachten.
Das dürfte allerdings nur mit einem Speicheroszi gut funktionieren.
nikolaus10
08.06.2016, 09:19
Geht auch mit einem normalen Oszi,
musst nur dauern UUUUU senden....
73
ERLEDIGT - Ist ja schön, aber wo lag dann das Problem?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.