Hallo, ich habe ein Problem mit dem Empfang von DMX512 mit einem ATtiny2313. Ich habe schon mal einen Beitrag geposted, bitte entschuldigt, dass ich mich nochmals an Euch wende. Aber ich komme einfach nicht weiter. Im Anhang findet Ihr meinen Code. Den habe ich von Hendrik Hoelschers Projekt für den ATmega8515 versucht zu übertragen. Leider scheitere ich noch immer. Konkretisierung meines Problems: Ich habe versucht, mich Schritt für Schritt an die Ursache ranzutasten. D.h. ich habe in der Interruptroutine in jeder einzelnen If-Schleife einen Ausgang des µC geschaltet um zu überprüfen, ob das Programm überhaupt in diejenigen Schleifen springt. Beim 8515 funktioniert das einwandfrei, beim ATtiny2313 jeoch springt das Programm lediglich in die erste if-Schleife "if (USARTstate &(1<<FE))". Das bedeutet für mich ja schon mal, dass der Interrupt soweit funktioniert und der Controller UART zumindest "sieht". Wo kann nun mein Fehler liegen, dass der Interrupt nicht weiter ausgeführt wird? Ich wäre Euch sehr sehr dankbar, wenn konstruktive Antworten kämen. Viele Grüße Theo
Noch eine Vermutung: kann es sein, dass das Ganze mit dem Register UCSRC zusammenhängt? Im Vergleich zum 8515 weist das Register vom ATtiny2313 kein URSEL auf. Wie hat man damit umzugehen?
Theo schrieb: > kann es sein, dass das Ganze mit dem Register UCSRC zusammenhängt? Im > Vergleich zum 8515 weist das Register vom ATtiny2313 kein URSEL auf. > Wie hat man damit umzugehen? Man lässt das URSEL Bit dann weg. Also man initialisiert die UART so wie du es gemacht hast. Hast du bereits kontrolliert, ob dein Attiny2313 mit 16 MHz läuft, wie im Programm vorausgesetzt?
Hi Stefan, erstmals vielen Dank für Deine Antwort. Dein Hinweis könnte durchaus zielführend sein: Die Fuse-Bits habe ich lt. Anhang gesetzt und zum Programmieren verwende ich ein STK500 mit 16 MHz Quarz. Zum Testen hab ich den USART-Interrupt auskommentiert und ein Rechtecksignal an einem Ausgang mit je _delay_ms(100) für ON und OFF Zeit programmiert. Die tatsächliche Zeit ist aber ca. 800ms. Hab ich da wieder was falsch gemacht? Viele Grüße
Hallo Theo, RTFDS -> mach den Haken bei CKDIV8 raus dann passts auch mit dem delay. Grüße kaffeetas
Hallo an alle, nun läufts!! Genau der Fehler wars. Vielen Dank für Eure Hilfe. Ihr habt mir geholfen, meinen Haarausfall noch ein wenig zu verzögern. Diese Scheiß Fusebits........
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.