多路ADC采集DMA传输,DMA传输标志位调试是不变化的,请问这是为什么呀?

[复制链接]
 楼主| 你说说说说 发表于 2018-7-6 18:44 | 显示全部楼层 |阅读模式
3路ADC通道采集电压,并由DMA传输至内存,在DMA中断服务函数里设置了一个标志位,但是连续调试的时候没有变化,请问这是问什么?
DMA中断服务函数:
void DMA2_Stream0_IRQHandler(void)                                             //DMA2_Stream0中断服务函数
{
int i,j;
if(DMA_GetITStatus(DMA2_Stream0, DMA_IT_TCIF0))                               //DMA2_Stream0传输完成标志
{
    for(i=0;i<2000;i++)
    {
      for(j=0;j<3;j++)
      {
        ADC_Con[j] = (float)ADC_Raw[j]*(3.3/4096);
      }
    }
    flag_dma = 1;
    DMA_ClearITPendingBit(DMA2_Stream0, DMA_IT_TCIF0);                          //清除传输完成中断标志
}
}


main函数:
int main(void)
{
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);   //设置系统中断优先级分组1
  delay_init(168);                                  //延时初始化
  uart_init(115200);                                //初始化串口波特率为115200
  KEY_Init();                                                                      //初始化按键
  ADC_Config();                                     //初始化ADC
  DMA_Config();                                     //初始化DMA
  Timer_Init();                                     //TIM2配置
  printf("======测试======
");
        while(1)
  {
                if(flag_dma == 1)
                {
      printf("%u
",flag_dma);
      flag_dma = 0;
      printf("%u
",flag_dma);
    }
  }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

355

主题

355

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

355

主题

355

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部