INTERRUPT_HANDLER(
tiM2_UPD_OVF_BRK_IRQHandler, 13)
{
TIM2_ClearFlag(TIM2_FLAG_UPDATE);
GPIO_WriteReverse(GPIOD, GPIO_PIN_2);
while((ADC1->CSR 0x80)!=0x80); // 等待转换结束
u16_adc1_value = ADC1_GetBufferValue(0x04); //read ad4;
u16_adc2_value = ADC1_GetBufferValue(0x05); //read ad5
}
中断程序如上,PD2有翻转,但是u16_adc1_value值和u16_adc2_value一直为0,实际PB4和PB5是1.65V电压的。
但如果把下面的三个语句放在主语序里,就可以读到,为什么?
while((ADC1->CSR 0x80)!=0x80); // 等待转换结束
u16_adc1_value = ADC1_GetBufferValue(0x04);
u16_adc2_value = ADC1_GetBufferValue(0x05);