Forum: Mikrocontroller und Digitale Elektronik USART-Probleme beim Atmel AT91SAM7S64


von Max (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche gerade, über die Serielle Schnittstelle von einem alten 
Gerät Daten einzulesen. Diese müssen zunächst mit einem Datenwort, 
bestehend aus 2 Bytes angefordert werden, anschließend folgt die Antwort 
ebenfalls mit zwei Bytes. Das Anfordern klappt wohl bereits, lediglich 
die Antworten sind nur abschnittsweise verwertbar.
Ich hole in einer weiteren Funktion erst ab, wenn die Antworten da sind!
Dabei fällt Folgendes auf: Immer die unteren 4 Bits pro Antwortbyte ( 
beim HighByte und LowByte ) werden korrekt übermittelt, die oberen 4 
geben dagegen nie die erwarteten Werte wieder ( fordere momentan nur 
Testbytes an, die folgende Art haben müssten: 0x55 und 0xAA, ankommen 
tut 0x"?"5 sowie 0x"?"A.

Gestern kam noch der Einwand, dass es evtl. an der Baudrate liegen 
könnte, hab da aber auch nochmals alles überprüft. Das alte Gerät hat 
folgende Einstellungen: 8 Datenbits, No Parity, 2 StopBits, 9,6 kBaud.

Evtl. ist im Init-Bereich noch was faul und ihr seht den Fehler.

Danke jedenfalls schon mal.

Max

von gerhard (Gast)


Lesenswert?

hallo max,
was mir bei deinem code abgeht ist die aktivierung des clocks für den 
uart.
außerdem würde ich dir empfehlen, die funktionen aus der atmel-library 
(lib_AT91SAM7S64.h)einzusetzen .
desweiteren kann ihc dir die examples von www.at91.com ans herz legen. 
die dir mal wie eine peripherie am besten zu init. ist

hier mal eine liste der funktionsaufrufe die bei mri zum ziel geführt 
haben:
AT91F_PIO_CfgPeriph(...);
AT91F_US0_CfgPMC();
AT91F_US_Configure(...),
AT91F_US_EnableTx();
AT91F_US_EnableRx();

gruss
gerhard



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.