|
按照给的spi flash例程 把里面spi部分拿出来做与AD DA通信的驱动 void um02_spiInit(void)
{
unsigned int spi_mode = SOMI_SIMO_CLK_CS1_CS6;//使用CS1 CS6对应AD和DA 值为(0x00000E42) 转换时CS1 CS6为低电平
/* Resets the SPI */
SPIReset(SOC_SPI_1_REGS);
/* Brings SPI Out-of-Reset */
SPIOutOfReset(SOC_SPI_1_REGS);
/* Configures SPI in Master Mode */
SPIModeConfigure(SOC_SPI_1_REGS, SPI_MASTER_MODE);
/* Sets SPI Controller for 4-pin Mode with CHIP SELCET */
SPIPinControl(SOC_SPI_1_REGS, 0, 0, &spi_mode);
SPIDefaultCSSet(SOC_SPI_1_REGS, 0x42);
/*Configures the Prescale bit in Data Format register. */
SPIClkConfigure(SOC_SPI_1_REGS, SOC_SYSCLK_2_FREQ, 1920000,SPI_DATA_FORMAT0);//fs=120000*16(位)
/* Configures SPI Data Format Register */
SPIConfigDataFmtReg(SPI_DATA_FORMAT0);
// 配置 SPI
SPIDat1Config(SOC_SPI_1_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), 0x42);
/*enable spi dma*/
SPIIntEnable(SOC_SPI_1_REGS, SPI_DMA_REQUEST_ENA_INT);
SPIDelayConfigure(SOC_SPI_1_REGS, 0, 0, 10, 20);//瞎写的 感觉没什么影响啊
SPIEnable(SOC_SPI_1_REGS);
}
传输时 好像只能传出一个数 然后就停下了 (spi 发送寄存器是没错的 里面的值一直在刷新) 请问是怎么回事 还有就是有没有写过这方面驱动的能不能分享一下
|
|