www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI und at91sam7x256 Probleme


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: miko (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo zusammen,

ich arbeite mit einem Olimex Board "SAM7-EX256" mit einem at91sam7x256 
µC.

ich benutze SPI_1 um Data von 2-ADCs zu lesen.

ich habe die SPI1 wie folgt initialisiert:

void Spi_Init(void)
{
  // Init SPI1
  //set functionality to pins:
  //portA.21 -> SPI1_NPCS0
  //portA.7 -> SPI1_NPCS1
  //portA.22 -> SPCK
  //portA.23 -> MOSI
  //portA.24 -> MISO


  s_pPioA->PIO_PER = BIT21 | BIT24 | BIT23 | BIT22 | BIT7 ;
  s_pPioA->PIO_ASR = BIT21 | BIT24 | BIT23 | BIT22 | BIT7 ;
  s_pPioA->PIO_BSR = 0;
  s_pPioA->PIO_OER = BIT21 | BIT23 | BIT22 | BIT7 ;
  s_pPioA->PIO_ODR  = BIT24;

  //enable the clock of SPI
  s_pPMC->PMC_PCER = 1 << AT91C_ID_SPI1;



  // SPI Enable
  s_pSpi->SPI_CR      = 0x81;       //SPI Enable, Software reset
  s_pSpi->SPI_CR      = 0x01;               //SPI Enable


  s_pSpi->SPI_MR      = 0x0013; //Master mode, fixed select, disable 
decoder, FDIV=1 (MCK), PCS=1101

  s_pSpi->SPI_CSR[0]  = 0x00001F02;  //8bit, CPOL=0, ClockPhase=1, SCLK 
= 18Mhz/32*31 = 18kHz

  s_pPDC->PDC_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN;
  s_pSpi->SPI_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN;
}


auf die Pins ist weden Clock noch Daten zu sehen.
ist die Initialisierung in Ordnung?

Danke im Voraus
miko

Autor: miko (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
die CS schalte ich als PIO Pin an und aus!!

Autor: ./. (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Vergessen den Takt einzuschalten?

Autor: miko (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
vielen Dank erstmal:

wie soll ich den das machen

Autor: miko (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
ist doch hier
s_pPMC->PMC_PCER = 1 << AT91C_ID_SPI1;
oder?

Autor: miko (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
\\\????

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
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.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net