Forum: Mikrocontroller und Digitale Elektronik SPI und at91sam7x256


von miko (Gast)


Lesenswert?

Hallo zusammen,


Im Rahmen eines Projekts habe ich den AT91SAM7X256 bereits mit zwei ADCs
verbunden. Die SPI_Schnittstelle macht mir richtig sorgen, die macht 
nämlich
nicht was ich will!

Die Initiallisierung habe ich teilweise hingekriegt!!

ich habe zwei SCs deklariert: PA21 und PA25

beim senden wird aber immer nur PA21 Aktiv und bei PA25 ist nichts zu 
sehen.

das ist meine Initialisierung:

s_pPioA->PIO_PDR = BIT21 | BIT24 | BIT23 | BIT22 | BIT25 ;
  s_pPioA->PIO_BSR = BIT21 | BIT24 | BIT23 | BIT22 | BIT25;
  s_pPioA->PIO_ASR = 0;
  s_pPioA->PIO_OER = BIT21 | BIT23 | BIT22 | BIT25 ;
  s_pPioA->PIO_ODR  = BIT24;

        s_pPMC->PMC_PCER = 1 << AT91C_ID_SPI1;

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

    //Master mode, volatile select, disable decoder, FDIV=1, PCS=1101

        s_pSpi->SPI_MR      = 0x0013;


       s_pSpi->SPI_CSR[0]  = 0x00001F02;

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


und beim Senden setze ich TxData |= 0x0F; einmal und TxData |= 0x1000F; 
beim nächten Mal.

denke ich überhaupt Richtig????

Danke im Voeraus.

Miko

von miko (Gast)


Lesenswert?

Das mit dem TxData ist schon mal Falsch.
der Decoder ist ja für uns uninteresant

hat jemand eine Idee, wie das ganze funktionieren soll?

von miko (Gast)


Lesenswert?

soll ich meine SPI Schnittstelle in Fixed-Mode oder Variable-Mode 
einstellen?

von miko (Gast)


Lesenswert?

????

von Miko (Gast)


Lesenswert?

ich habe mich entschieden momentan nur mit einem ADC zu komunizieren.
Ich kann etwas mit dem Ozi. messen. Wenn ich aber versuche zu debbugen. 
Habe ich zwei Probleme:
1. ich bekomme die falschen Werte

Init.:
unsigned char RxData = 0;

Lesen:
RxData = ((s_pSpi -> SPI_RDR) & 0x00000FFF);

ich bekomme immer nur RxData=F

2. Wenn ich beim Debbugen RxData durch 2 teile stürzt das Programm.

ich hoffe das jemand einbißchen Zeit für mich hat????

Danke

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.