Forum: Mikrocontroller und Digitale Elektronik AT90S2313 und UART


von msw (Gast)


Lesenswert?

Hi.

Ich habe einen ATS90S2313, der mit 4 MHz läuft.
Der ATMEL soll an 2 andere serielle Geräte angeschlossen werden.
Das Problem: Dazu braucht man 2 UARTS, der 2313 hat aber nur einen.
Ich habe auch schon verschiedene Software UARTS (darunter die ATMEL 
Application Notes) ausprobiert. Der einzige der ging, war die 
Application Note von ATMEL "Compact half duplex software uart". Wenn für 
den ATMEL nichts zu tun ist, soll er in den powerdown- oder idle-modus 
schalten. Wenn dann eines der beiden Geräte etwas sendet, soll der Chip 
"aufwachen" und die Daten bearbeiten. Ich habe schon versucht, die ATMEL 
Note so umzubauen, das der ATMEL automatisch Daten empfängt, wenn ein 
externer Interrupt ausgelöst wird, jedoch empfängt er dann nur Müll.
Die unveränderde Receive-Prozedur von der Application Note wartet 
solange, bis die Leitung von logisch 1 auf 0 wechselt (Startbit), das 
funktioniert auch.
Der Interrupt wird bei fallender Flanke ausgelöst (theoretisch dasselbe, 
wie die originale Routine, nämlich beim Empfang des Startbits). Der 
Interrupt ruft die Empfangsroutine auf. Ich nehme an, das der Atmel zu 
spät anfängt die Daten zu empfangen... was aber eigentlich nicht sein 
kann, weil bei 4 Mhz ist er bedeutend schneller als die Übertragung mit 
9600 Baud.

Hat irgendjemand schonmal einen interruptgesteuerten Software-UART auf 
einen ATS90S2313 zum laufen gebracht? Oder kann mir jemand weiterhelfen?

Für eure Hilfe bedanke ich mich schon mal :)

Gruß msw

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.