OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6442|回复: 0

stm32f407 DMA FEIF4错误是什么原因造成的呢?

[复制链接]

50

主题

124

帖子

0

精华

高级会员

Rank: 4

积分
528
金钱
528
注册时间
2013-6-27
在线时间
79 小时
发表于 2016-1-29 09:56:44 | 显示全部楼层 |阅读模式
1金钱
DMA初始化如下:
static void DMA_Configuration(rt_uint32_t addr, rt_size_t size)
{
  DMA_InitTypeDef DMA_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
       
  RCC_AHB1PeriphClockCmd(CODEC_I2S_RCC_AHB, ENABLE);
       
        DMA_DeInit(AUDIO_I2S_DMA_STREAM);
  /* DMA Channel configuration ----------------------------------------------*/
  DMA_Cmd(AUDIO_I2S_DMA_STREAM, DISABLE);
        DMA_InitStructure.DMA_Channel = AUDIO_I2S_DMA_CHANNEL;  
  DMA_InitStructure.DMA_PeripheralBaseAddr = (rt_uint32_t)(&(CODEC_I2S_PORT->DR));
//        DMA_InitStructure.DMA_PeripheralBaseAddr = 0x4000380C;
  DMA_InitStructure.DMA_Memory0BaseAddr = (rt_uint32_t) addr;
  DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
  DMA_InitStructure.DMA_BufferSize = size;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;         
  DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_1QuarterFull;
  DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
  DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;  
  DMA_Init(AUDIO_I2S_DMA_STREAM, &DMA_InitStructure);

        /* Enable SPI DMA Tx request */
        SPI_I2S_DMACmd(CODEC_I2S_PORT, SPI_I2S_DMAReq_Tx, ENABLE);

        DMA_ITConfig(AUDIO_I2S_DMA_STREAM, DMA_IT_TC, ENABLE);
        DMA_Cmd(AUDIO_I2S_DMA_STREAM, ENABLE);
//        DMA_ITConfig(CODEC_I2S_DMA, DMA_IT_TC, ENABLE);

//        DMA_Cmd(CODEC_I2S_DMA, ENABLE);
//        /* Enable SPI DMA Tx request */
//  SPI_I2S_DMACmd(CODEC_I2S_PORT, SPI_I2S_DMAReq_Tx, ENABLE);
//       
//         if ((CODEC_I2S->I2SCFGR & I2S_ENABLE_MASK) == 0)
//  {
//    I2S_Cmd(CODEC_I2S, ENABLE);
//  }
          /* DMA IRQ Channel configuration */
  NVIC_InitStructure.NVIC_IRQChannel = AUDIO_I2S_DMA_IRQ;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}


谢谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 03:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表