参考Starterware例程,函数内容和例程的类似,唯一不同的是DMA没有使用中断触发方式(使用EDMA3_TRIG_MODE_MANUAL).
流程如下
bspEdma3Init();//初始化DMA
SPISetUp();//初始化SPI
EDMA3RequestChannel(SOC_EDMA30CC_0_REGS, EDMA3_CHANNEL_TYPE_DMA, EDMA3_CHA_SPI1_TX, EDMA3_CHA_SPI1_TX, 0);
SPIEnable(SOC_SPI_1_REGS);
SPIDat1Config(SOC_SPI_1_REGS,(SPI_CSHOLD | SPI_DATA_FORMAT0), SPI_OLED_CS);
SpiTxEdmaParamSet(EDMA3_CHANNEL_TYPE_DMA,EDMA3_CHANNEL_TYPE_DMA,oled_display_buffer,1024);
EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS,BSP_EDMA3_LCD_EVENT,EDMA3_TRIG_MODE_MANUAL);
因为是刷屏数据,运行的结果是只发了一个字节给显示.然后现象上就没有了.使用EDMA3GetIntrStatus(SOC_EDMA30CC_0_REGS)读取状态,一直是0.
请问是哪里配置出了问题?