hallo, ich versuche gerade mit einem ATmega32 eine 7x7 rgb matrix zu multiplexen dabei ist der PORTD PD1-PD7 an den treibern angeschlossen die die anoden zeilenweise multiplexen. nur möchte ich während meines programms auch auf PD0(RXD) daten per UART empfangen können. habe das während meines laufenden timer interrupts probiert , jedoch hängt sich mein programm auf / oder zeigt mir auf der matrix wirre sachen. das komische ist ja, das macht er sogar wenn ich keinen uart initialisiere und ich einfach so daten an RXD hänge, bin da echt ratlos. wenn mir wer weiterhelfen kann wie und ob ich das bewerkstelligen kann, wär ich sehr dankbar.
kannst du mal den code hochladen ? ich denke da liegt der fehler :D
Das Problem ist recht eindeutig. Erstens ist die Initialisierung des UART auskommentiert, zweitens fehlt die Freigabe des RXC Interrupts. Und Drittens musst du einfach nur den UART per Interrupt nutzen, siehe Interrupt. Und viertens kannst du dir das NOP in der leeren While-Scheife oder in der leeren ISR sparen.
habe die CKOPT fuse unprogrammiert gelassen und im datenblatt steht bei höheren frequenzen sollte sie gesetzt sein. ich benutze einen 24,5mhz quarz. beim setzen der fuse funktioniert jetzt alles normal. warum die probleme aber erst beim benutzen des uarts angefangen haben ist mir aber unklar. danke für die tipps.
24Milliherz ist verdammt knapp kalkuliert. Und falls du Megaherz meinst: ganz schön weit ausserhalb der Spezifikation.
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.