Hallo! Ich hab einen ATmega8 mit LCD Display an Port D (da ich die Platine nicht ändern will, kanns nicht Port B sein). Wenn ich jetzt noch zusätzlich die serielle Kommunikation verwenden will, ist das durch dementsprechende Softwareänderung überhaupt möglich? Hat jemand sowas schon gemacht? lg Andi
Poste mal die Schaltung. Welches Display ist es? Vielleicht kannst Du das Display im 4-Bit-Modus betreiben oder seriell, damit die UART-Pins freiwerden. Stefan
Es handelt sich um ein HD44780-kompatibles Display, wie im Tutorial. Die Initialisierung stammt vom CodeWizard von CodeVision, müsste also im 4Bit Modus laufen. Hier sind dann insgesamt 7 Pins des Prozessors belegt. Andi
Hi, wenn die UART-Pins sich die Datenpins des LCD teilen, müsste es gehen. Problematisch ist es nur, wenn es die Steuerpins sind, da könnte das LCD meinen, ein Befehl wird gesendet, wenn am UART was passiert. Sendest Du aber keine Befehle per Steuerpins an das LCD, kannst Du auf den Datenpins machen, was Du willst. Sebastian
Ja, das ist ja das Problem. Die Steuerpins hängen am Pin 0 bis 2 (RS, R/W, Enable) vom Port D, genau dort wo der RxD (Pin 0) und TxD (Pin 1) des mega8 liegt. Die Datenpins hab ich an den Pins 4-7 vom Port D hängen. Vielleicht sollte man das Display mittels Enable irgendwie wegschalten, wenn man UARTet, und umgekehrt. Mal ausprobieren... Andi
Sehe ich als sehr schwierig an, das ohne Layoutänderung zu machen. Du kannst zwar per TXD senden, ohne dass das Disply beeinträchtigt wird. Aber wenn Du aufs Display ausgibst, wackelt der TXD-Output der RS232, was Pseudodaten auf der seriellen Schnittstelle verursachen kann. Noch schlimme rist es mit der RXD-Leitung: für die RS232 musst Du sie als Eingang (am mc) konfigurieren, für das lcd als Ausgang. Du hast also einen Kurzschluss zwischen RS232-Treiber und mc, wenn Du fürs LCD konfigurierst. Wäre vielleicht ein Software-UART eine Lösung für Dich? Dann kannst Du als RXD/TXD beliebige Pins nehmen. Ansonsten sehe ich keine andere Möglichkeit außer Fädeln. Stefan
Software-UART hört sich sehr verlockend an. Gibts hier fertige Module, und wie aufwändig wird die Geschichte dann? Danke jedenfalls für den Tipp!! Andi
Ich selbst habe das bisher nur auf einem Nicht-AVR gemacht, kann Dir also nicht weiterhelfen. Ich habe hier aber schon öfters drüber gelesen, schau mal die Code- oder Linksammlung durch. Oder frag Peter Danegger, der hat schon alles mal programmiert ;-) Hardwareseitig bist Du nicht festgelegt, d.h. der RS232-Treiber soll irgendwo extern aufgbaut werden? Stefan
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.