AT91SAM7A3 - Problem

Gast #1025228
Lesenswert?
• ▲
▼
Hallo,

ich steige gerade ein, mich mit dem AT91SAM7A3 zu beschäftigen, habe mir 
ein Board selbst geschnitzt und versuche gerade einige Sachen darauf zu 
programmieren.
Jetzt hänge ich, weil ich es einfach nicht schaffe, den Zustand eines 
Pins einzulesen - irgendwie bin ich anscheinend zu blöd.
Ich habe PIOA folgendermaßen initialisiert:

  *AT91C_PIOA_PER = 0x03FC0003;
  *AT91C_PIOA_PDR =~0x03FC0003;

  *AT91C_PIOA_OER= 0x03FC0002;
  *AT91C_PIOA_ODR=~0x03FC0002;

  *AT91C_PIOA_IFER= 0x00000000;
  *AT91C_PIOA_IFDR= 0xFFFFFFFF;

  *AT91C_PIOA_IER= 0x00000000;
  *AT91C_PIOA_IDR= 0xFFFFFFFF;

  *AT91C_PIOA_MDER= 0x00000000;
  *AT91C_PIOA_MDDR= 0xFFFFFFFF;

  *AT91C_PIOA_PUER= 0x00000001;
  *AT91C_PIOA_PUDR= 0xFFFFFFFE;

  *AT91C_PIOA_ASR= 0x0000000C;
  *AT91C_PIOA_BSR= 0x00000000;

  *AT91C_PIOA_OWER= 0x01C00002;
  *AT91C_PIOA_OWDR=~0x01C00002;

  *AT91C_PIOA_SODR= 0x01C00000;
  *AT91C_PIOA_CODR=~0x01C00000;

nun möchte ich den Zustand von Pin 22 = PA0 wissen, bekomme aber mit

a=*AT91C_PIOA_PDSR;

immer null, egal welcher Pegel am Pin anliegt. Was mache ich falsch? Den 
Pin wackeln lassen kann ich, wenn er als Ausgang initialisiert ist, 
UART0 neben dran tut auch, aber als Zustand der I/Os bekomme ich immer 
0.

Danke schon mal

Ray
Gast #1025372
Lesenswert?
• ▲
▼
Danke,

das scheint es gewesen zu sein - auf den Gedanken, dass dem IO-Block der 
Takt fehlen könnte, bin ich gar nicht gekommen - schliesslich 
funktionierte die Ausgabe (Set/Clr) von Pins. Dies benötigt 
offensichtlich keinen Takt.

Danke nochmal

Ray

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.