STM32F030ADC配置问题

2019-10-14 20:29发布

目前在用stm32f030的芯片做电机控制,电流采样采用adc+DMA的方式,需要在中断中切换ADC采样通道的配置(根据扇区选择采样U,V,W三相电流中的两相),但是发现每次在中断中重新配置通道后,下次进中断时通道并没有缓过来,只有当第二次进入中断后通道才会转换,请问这是什么原因?ADC通道选择更改后是立即生效还是有什么条件才能够生效?切换通道代码在中断中如下:
    switch (CurSelection) {
    case U_V_CUR_SEN:
        ADC1->CHSELR = 0x01B0;      // U, V
    break;

    case U_W_CUR_SEN:
        ADC1->CHSELR = 0x01D0;      // U, W
    break;

    case V_W_CUR_SEN:
        ADC1->CHSELR = 0x01E0;      // V, W
    break;
    default:            
        ADC1->CHSELR = 0x01B0;      // U, V
    break;
    }
LastPWMSector = GetPWMSector();

    gExcursionInfo.Iu = m_Iu;
    gExcursionInfo.Iv = m_Iv;
    gExcursionInfo.Iw = m_Iw;

0条回答

一周热门 更多>