SPI Initialisierung auf AT91SAM7S

Gast #636044
Lesenswert?
• ▲
▼
Hallo NG,

kann mir bitte jemand sage, der schon mal SPI auf dem AT91SAM7S
verwendet hat, ob die SPI-Initialisierung so passt (Die Pins vom 
SD-Kartenleser sollen zugewiesen werden)? Oder habe ich noch was 
vergessen?

Vielen Dank!
Peter

init_spi:

  // verwendete Register auf Stack legen
  PUSH  {r0, r1}

  // Basisadresse setzen
  LDR  r0, =PIO_BASE

  // den entsprechenden PINS die Funktion zuweisen
  LDR  r1, =BIT11 | BIT12 | BIT13 | BIT14
  STR  r1, [r0, #PIO_PDR]
  STR  r1, [r0, #PIO_ASR]
  LDR  r1, =0
  STR  r1, [r0, #PIO_BSR]

  // Basisadresse setzen
  LDR  r0, =PIO_BASE

  // enable SPI-Clock (ID=5)
  LDR  r1, =1 << 5
  STR  r1, [r0, #PMC_PCER]

  // Basisadresse setzen
  LDR  r0, =SPI_BASE

  // SPI-MODE: fixed
  LDR  r1, =0x81;    // SPI Enable, Software Reset
  STR  r1, [r0, #SPI_CR]
  LDR  r1, =0x01;    // SPI Enable
  STR  r1, [r0, #SPI_CR]
  LDR  r1, =0xE0011;    // Master Mode, Fixed Select
  STR  r1, [r0, #SPI_MR]
  LDR  r1, =0x4A02;    // 8bit, CPOL: 0, ClockPhase: 1,
  STR  r1, [r0, #SPI_CSR0]  // SCLK: 200kHz

  // Basisadresse setzen
  LDR  r0, =PDC_BASE
  LDR  r1, =AT91C_PDC_TXTEN | AT91C_PDC_RXTEN
  STR  r1, [r0, #PDC_PTCR]

  // Basisadresse setzen
  LDR  r0, =SPI_BASE
  STR  r1, [r0, #SPI_PTCR]

  // urspruengliche Register vom Stack holen
  POP  {r0, r1}

  // Zurueck aus Subroutine
  MOV  pc, r14

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.