ch571如何同时用ADC的两个通道做检测
1、用了PA12 AIN2: /* 单通道采样:选择adc通道2做采样,对应 PA12引脚, 带数据校准功能 */
2. 现在想用PA13再检测一个MIC的声音检测,上面用了单通道采样,这里如何用多道,这里我准备用中断的方式。
但是看到
/*********************************************************************
* @fn ADC_IRQHandler
*
* @brief ADC中断函数
*
* @return none
*/
__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void ADC_IRQHandler(void) //adc中断服务程序
{
if(ADC_GetDMAStatus())
{
ADC_StopDMA();
R16_ADC_DMA_BEG = ((uint32_t)adcBuff) & 0xffff;
ADC_ClearDMAFlag();
DMA_end = 1;
}
if(ADC_GetITStatus())
{
ADC_ClearITFlag();
if(adclen < 20)
{
adcBuff[adclen] = ADC_ReadConverValue();
ADC_StartUp(); // 作用清除中断标志并开启新一轮采样
}
adclen++;
}
}
3.问题
第一个adc检测时,它是选中ADC_ChannelCfg(2);然后读出值,那么中断的时候,我怎么选中它,万一在选中ADC_ChannelCfg(2),时,中断时读到的是2通道?
感觉思路有点乱,如何同时使用ADC的两个通道,有没有例程?个人信息保护,已隐藏,谢谢