|
楼主 |
发表于 2006-8-26 15:00:56
|
显示全部楼层
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_SPI );
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, AT91C_PA11_NPCS0 | AT91C_PA12_MISO | AT91C_PA13_MOSI | AT91C_PA14_SPCK | AT91C_PA31_NPCS1, 0);
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, 0, AT91C_PA30_NPCS2 | AT91C_PA3_NPCS3);
AT91F_SPI_Enable(pSPI);
AT91F_SPI_CfgMode(pSPI, AT91C_SPI_MSTR | AT91C_SPI_PS_VARIABLE | AT91C_SPI_PCSDEC | (AT91C_SPI_PCS & 0x1) | (AT91C_SPI_DLYBCS & 0xff) );
pSPI->SPI_CSR[0] = AT91C_SPI_BITS_8 | AT91C_SPI_NCPHA | 0x0f0f1800; // mode 0 波特率2MHz
pSPI->SPI_CSR[1] = AT91C_SPI_BITS_8 | AT91C_SPI_NCPHA | 0x0f0f1800; // mode 0 波特率2MHz
kk = 0x00055; //初始化发送数据:0设备,数据8位0x55
pSPI->SPI_TDR = kk;//发送
kk = pSPI->SPI_RDR;//返回数据 |
|