Forum: Mikrocontroller und Digitale Elektronik atmega led matrix multiplexen UND UART Receive ?


von Richard X. (synq1e)


Angehängte Dateien:

Lesenswert?

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.

von kalle (Gast)


Lesenswert?

sind die fuses richtig gesetzt , insbesondere JTAG ?

von Richard X. (synq1e)


Lesenswert?

jtag und alles andere ist aus

von kalle (Gast)


Lesenswert?

kannst du mal den code hochladen ?
ich denke da liegt der fehler :D

von Richard X. (synq1e)


Angehängte Dateien:

Lesenswert?

ok hier, danke fürs anschauen

von Falk B. (falk)


Lesenswert?

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.

von Richard X. (synq1e)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

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