Forum: Mikrocontroller und Digitale Elektronik AT91SAM9XE ADC initialisieren


von max (Gast)


Angehängte Dateien:

Lesenswert?

Ich versuche seit mehreren Tagen den ADC des AT91SAM9XE anzuwerfen. 
Leider scheint er einfach wandeln zu wollen. Ich möchte Channel 1 
auslesen und eine extern anliegende Referenzspannung verwenden.

Ich habe einen Prescaler von 8, eine Startuptime von 9 und ein 
Sample&Hold- (=Track&Hold-) von 9 eingestellt. Außerdem aktiviere ich 
die gewünschte Channelnummer und starte den Konvertierungsvorgang.
Danach polle ich auf ADC_DRDY in einer Schleife, die leider nie mehr 
verlassen wird.

(siehe angehängter Quellcode)

Wäre klasse wenn mir jemand sein Stück Code schicken könnte, der den ADC 
dieser MPU schon einmal erfolgreich initialisiert hat. Auch ein Hinweis 
was fehlen könnte wäre großartig.

Viele Grüße,

Max

von max (Gast)


Lesenswert?

Problem gelöst: Atmel vergisst zu erwähnen dass man die ADC clock im 
PMC_PCER (peripherial clock enable register des Power Management 
Controllers) zuvor aktivieren muss:

IO_WR32(0xFFFFFC10, (1<<5));

Das fünfte Bit steht dabei für die peripherial clock des ADC. Die Lösung 
fand sich in einem Codebeispiel von Atmel.

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.