原始不正常代码
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC_Value_Buff, SIZE);
while(1)
{
semADC=rt_sem_take(adc_over_sem, RT_WAITING_FOREVER);
if(semADC ==RT_EOK)
{
rt_kprintf("\n\nADC sampling over!\n");
rt_kprintf("IN1:%d\n",ADC_Value_Buff[0]);
}
}
不能正常打印输出,结果如下图

添加一个rt_thread_mdelay为什么就正常了?
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC_Value_Buff, SIZE);
while(1)
{
semADC=rt_sem_take(adc_over_sem, RT_WAITING_FOREVER);
if(semADC ==RT_EOK)
{
rt_thread_mdelay(2);
rt_kprintf("\n\nADC sampling over!\n");
rt_kprintf("IN1:%d\n",ADC_Value_Buff[0]);
}
}

谢谢!按照这个修改确实解决了
@数码小叶 欢迎给我这个github工程一个star
@mysterywolf ok!
大佬厉害,感谢大佬!已STAR