Forum: Compiler & IDEs AVR Software UART


von Jürgen S. (jsachs)


Angehängte Dateien:

Lesenswert?

Im Prinzip will ich einen Software UART nur TX realiseren.
Ich nehme den 8 Bit Timer mit CPU CK und setze dann im Interrupt den
Ausgang. Aber ich habe zuviel Jitter oder Baudratenprobleme.
Ich habe meinen Code so weit rduziert, das nur noch ein Test für den
Uart übrig blieb. Trotzdem geht es nicht zuverlässig.
Ich hatte auch schon den Quartz in Verdacht (siehe
http://www.mikrocontroller.net/forum/read-2-400070.html)

Ich mach mal meinen Code fertig, vielleicht hat ja jemand eine Idee.

Ach ja, den Software UART im Tutorial hier kann ich nicht nehmen, da
ich nur den 8Bit Timer frei habe.... (Im fertigen Projekt)
Ich habe mich aber so weit als möglich daran Orientiert.

Vielleicht hat ja einer eine Idee....

Ich nutze den avr-gcc auf dem stk200 Board

Danke Juergen

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Wieso benutzt eigentlich niemand für solche Sachen den CTC-Modus (sofern
vorhanden?) (Ich muß mich nur mal wieder über die
8051er-Timer-Nachlade-Methode aufregen...)
Schade, dass du den Controller-Namen für dich behälst.

von Jürgen S. (jsachs)


Lesenswert?

Sorry, da ich den Anderen Thread angefangen habe, hatte ich ganz
vergessen den Controller anzugeben: AT90S2313. Später kommen ATTyni zum
Einsatz.
Programmiert wird unter Linux mit dem avr-gcc und programmiert mit dem
AVRDude...

Was ist der CTC-Modus ??? Vom Controlle roder Forum oder ?

Danke

von inoffizieller WM-Rahul (Gast)


Lesenswert?

CTC: Clear Timer on Compare. Sobald ein bestimmter Timer-Wert erreicht
wurde, wird der Timer auf 0 zurückgesetzt, und das Spiel beginnt von
vorn.
Den wird der (antiquierte, abgekündigte) AT90S2313 nicht haben.

von Jürgen S. (jsachs)


Lesenswert?

Das kann nur der Timer 1, den ich aber für PWM brauche ....

Aber jetzt will ich erst mal mit dem Hardware Uart auf einer sehr
krummen Baudrate (ca 20800 Baud) Daten empfangen und dann auf einer
"normalen" zum PC senden (38400 Baud).
Damit ich weis was auf dem Steuerbus los ist.

Wie gesagt endgültig kommt der ATTiny zum Einsatz.
Nur die Frage ob der auf dem STK200 funktioniert, Pinkompatibel ist er
ja wohl.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Übrigens hat Atmel 1-2 ApplicationNotes zu den Thema herausgegeben.

von Jürgen S. (jsachs)


Lesenswert?

Ich habe schon bei Atmel gesucht nach "UART" und "Tiny".
Auch bei Google....
Aber nichts gefunden was zu meinem Problem passt, oder sich adaptieren
läßt.
Oder waren die Application Notes auf was anderes bezogen ?

Gruss
Juergen

von inoffizieller WM-Rahul (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

1
TCNT0 = BR_PRELOAD;  // vorteiler gleich wieder laden

Jau, dat muß in die Hose gehen.

Du mußt die Interrupteintrittszeit berücksichtigen:
1
TCNT0 += BR_PRELOAD-2;  // vorteiler gleich wieder laden


Peter

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
Noch kein Account? Hier anmelden.