3. 中断配置问题:请确保已经正确配置了DMA和ADC的中断。如果中断配置不正确,可能会导致HAL_ADC_Start_...
在该文件中,大家只要看MX_ADC3_Init就够了,不过下面的代码中,有两个地方值得注意, hadc3.Init.ContinuousConvMode = ENABLE; 这个在实际应用中要改为DISABLE。 hadc3.Init.DMAContinuousRequests = DISABLE; 这个一定要设置为DISABLE,否则开启一次后就会没完没了的采样,然后调用DMA中断,太耗资源了。本项目10mS...
在该文件中,大家只要看MX_ADC3_Init就够了,不过下面的代码中,有两个地方值得注意, hadc3.Init.ContinuousConvMode = ENABLE; 这个在实际应用中要改为DISABLE。 hadc3.Init.DMAContinuousRequests = DISABLE; 这个一定要设置为DISABLE,否则开启一次后就会没完没了的采样,然后调用DMA中断,太耗资源了。本项目10mS...
若开启DMA中断的话则程序会一直进入DMA中断。HAL_ADC_Start_DMA()函数会开启DMA的所有中断(传输完成、传输一半和传输错误)。 总结 若平时使用还是配置为不循环转换+DMA单次传输比较好。(个人调试经验,欢迎大家指正) STM32cubemx F411 ADC+TIMER+DMA 就可以了。要打印数据就自己配置串口。。。在while(1)前面以...
hadc3.Init.ContinuousConvMode = ENABLE; 这个在实际应用中要改为DISABLE。 hadc3.Init.DMAContinuousRequests = DISABLE; 这个一定要设置为DISABLE,否则开启一次后就会没完没了的采样,然后调用DMA中断,太耗资源了。本项目10mS左右采样一次,不需要这个。