Datum:
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
Datum:
die CS schalte ich als PIO Pin an und aus!!
Datum:
Vergessen den Takt einzuschalten?
Datum:
vielen Dank erstmal: wie soll ich den das machen
Datum:
ist doch hier s_pPMC->PMC_PCER = 1 << AT91C_ID_SPI1; oder?
Datum:
\\\????



