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
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.
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
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.
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.
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
http://www.atmel.com/dyn/resources/prod_documents/doc0952.pdf http://www.atmel.com/dyn/resources/prod_documents/DOC0941.PDF http://www.atmel.com/dyn/resources/prod_documents/DOC1451.PDF
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.