Forum: Mikrocontroller und Digitale Elektronik SPI und at91sam7x256 Probleme


von miko (Gast)


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

von miko (Gast)


Lesenswert?

die CS schalte ich als PIO Pin an und aus!!

von ./. (Gast)


Lesenswert?

Vergessen den Takt einzuschalten?

von miko (Gast)


Lesenswert?

vielen Dank erstmal:

wie soll ich den das machen

von miko (Gast)


Lesenswert?

ist doch hier
s_pPMC->PMC_PCER = 1 << AT91C_ID_SPI1;
oder?

von miko (Gast)


Lesenswert?

\\\????

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.