zhangxu56726 发表于 2016-9-13 17:54:27

STM32F4 FMC DMA显示问题

求助: 我这边使用STM32F446E-EVAL的开发板,SDRAM做保存要显示的图片,同时屏也是FMC驱动,显示使用DMA将SDAM中的图片发送到屏,但是DMA进了中断,但是屏没有显示,不知道是什么问题,但是将片内lash中的数据用DMA搬移到内部sram是OK的,这样用对DMA有没有特殊要设置的,请高手协助下。
用MCU将SDAM中的数据发送到屏已经OK,下面是DMA初始化代码:
DMA_InitTypeDef DMA_InitStructure;
      RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE);

      DMA_ClearFlag(SDRAM_DMA_STREAM, SDRAM_DMA_FLAG_FEIF | SDRAM_DMA_FLAG_DMEIF | SDRAM_DMA_FLAG_TEIF | SDRAM_DMA_FLAG_HTIF | SDRAM_DMA_FLAG_TCIF);

      /* DMA2 Stream0or Stream7 disable */
      DMA_Cmd(SDRAM_DMA_STREAM, DISABLE);

      /* DMA2 Stream0or Stream7 Config */
      DMA_DeInit(SDRAM_DMA_STREAM);

      DMA_InitStructure.DMA_Channel = SDRAM_DMA_CHANNEL;
      DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(SDRAM_BANK_ADDR);
      DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)(&(FMC_BANK1->RAM));//(FMC_BANK1_RAM);
      DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToMemory;
      DMA_InitStructure.DMA_BufferSize = (uint32_t)38400;
      DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;
      DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;
      DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
      DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_HalfWord;
      DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
      DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
      DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;
      DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
      DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
      DMA_InitStructure.DMA_PeripheralBurst = DMA_MemoryBurst_Single;
      DMA_Init(SDRAM_DMA_STREAM, &DMA_InitStructure);
          DMA_ITConfig(SDRAM_DMA_STREAM, DMA_IT_TC, ENABLE);

zhangxu56726 发表于 2016-9-13 19:39:34

难道没有人这么用?

无薪税绵 发表于 2016-9-15 10:12:04

这个不懂,只能帮楼主加人气了。

wenyangzeng 发表于 2016-9-15 12:55:21

DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;
这是在原地踏步吧?

高二毛 发表于 2016-9-17 20:44:25

wenyangzeng 发表于 2016-9-15 12:55
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;
这是在原地踏步吧?

楼上说的有道理,楼主可以参考一下。

zhangxu56726 发表于 2016-9-18 12:15:20

屏里写数据,就是往一个地址里GRAM里写。不用变,我用程序版数据已经调试OK,这个不用质疑

xiaomucike 发表于 2016-9-20 09:13:38

好吧,新手没看懂:(

asssdz-382474 发表于 2016-9-23 21:06:09

:(:(:(:(:):):):):):)
页: [1]
查看完整版本: STM32F4 FMC DMA显示问题