Hallo zusammen, ich habe einen Mega16 mit einem Pegelwandler Schnittstellentreiber verlötet.Der Treiber ist der MAX233 er kommt ohne Externe Kapazitäten aus.Ich habe die Schaltung kurz getesetet mit eine Terminal Programm und es hat alles geklappt.Nun wollte ich heute die Serielle Schnittstelle wieder nutzen und siehe da es kommt nur Datenmüll an(am PC).So ala "@@@!!!" usw. das allerdings regelmässig.Egal welche Baudrate. Ich denke damit muss man sich abfinden. Wenn trozdem jemand eine ernstgemeinte Idee hat wäre ich sehr Dankbar. gruss Achim
mein erster test ist dann immer: verbinde txd und rxd auf der ttl-seite des max233 und benutze hyperterm o.ä. um zu sehen ob dieser baustein richtig arbeitet. ist das der fall, liegt es am mega16 oder an deiner software, dann würde ich zuerst die baudrate auf korrektheit überprüfen.
Benutzt Du einen Quarz oder den internen RC-Oszillator? Der RC ist sehr temperaturabhängig, das könnte erklären, warum es mal tat und jetzt nicht mehr. Stimmen die Fuses zur gewählten Taktversorgung? Wenn Du ein Oszi hast: schau mal den UART-Output an. Stefan
Hi, Ich habe einen Oszilator(wie hier im Tutorial). Wie gesgat der Chip arbeitet normal,das einzige ist das er beim Senden sich so Verhält als wäre Die Baudarte Falsch gewählt.Ist aber nicht bzw wenn ich am m16 9600 wähle und am PC zwischn 600 und 115000 alles anwähle, kann doch nicht sein oder? Ich denke die Fuses Stimmen weil der M16 in einer Quarz Schaltung "TOT" ist. Qoute Wenn Du ein Oszi hast: schau mal den UART-Output an. Quote Tsculdigung das verstehe ich nicht. mfg
>>Wenn Du ein Oszi hast: schau mal den UART-Output an. >Tsculdigung das verstehe ich nicht. Gib auf den UART-TXD ständig z.B. 0AA hex (= 1010 1010 binär) aus. Dann kannst Du am Oszilloskop ziemlich gut die Baudrate ablesen, weil sich mit jedem Bit die Polarität ändert. Was stellst Du denn im Baudratenregister ein? Welche Frequenz hat der Oszillator? Hast Du die gemessen / verifiziert? Stefan
Hi, achso jetzt verstehe ich.Ein Oszi habe ich nicht. Der Taktgeber hat 8mhz.Ich benutze Bascom.Die Frequenz habe überprüft mit dem Wait Befehl. Mit bem Bascom Befehl $Baud=9600 stelle ich die Baudrate ein(habe auch schon andere probiert,insbesondere 1200 weil ja langsamer Fehlertoleranter sein soll,hat aber trozdem nicht geklappt). mfg
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.