下面停止两个不同通道ADC的函数内部一毛一样。
是忘记改了吧?这个函数测试过吗?
/*
*********************************************************************************************************
* 函 数 名: bsp_StopAdcCH1
* 功能说明: 复位CH1通道配置,停止ADC采集.
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_StopAdcCH1(void)
{
/* ### - 1 - Initialize ADC peripheral #################################### */
AdcHandle1.Instance = ADCH2;
if (HAL_ADC_DeInit(&AdcHandle2) != HAL_OK)
{
/* ADC de-initialization Error */
Error_Handler(__FILE__, __LINE__);
}
}
/*
*********************************************************************************************************
* 函 数 名: bsp_StopAdcCH2
* 功能说明: 复位CH2通道配置,停止ADC采集.
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_StopAdcCH2(void)
{
/* ### - 1 - Initialize ADC peripheral #################################### */
AdcHandle2.Instance = ADCH2;
if (HAL_ADC_DeInit(&AdcHandle2) != HAL_OK)
{
/* ADC de-initialization Error */
Error_Handler(__FILE__, __LINE__);
}
}
另外,停止ADC的函数DSO_StopADC看起来也有问题。
void DSO_StopADC(void)
{
TIM3_Config(0);
bsp_StopAdcCH1();
bsp_StopAdcCH1();
} |