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