关于stm32F7 ADC DMA回调函数的问题
刚玩HAL库 不是很熟不清楚ADC DMA的完成标志到底是哪个或完成中断求教我用HAL_ADC_ConvCpltCallback做为完成标志但波形不是连续的如下
我单次采2048点的波形到是挺好的
如果配置了DMA中断,就调用:
ADCx_DMA_IRQHandler();
如果DMA中断没有配置,才用ADC中断
ADC_IRQHandler()
wenyangzeng 发表于 2018-1-30 12:24
如果配置了DMA中断,就调用:
ADCx_DMA_IRQHandler();
如果DMA中断没有配置,才用ADC中断
中断是调用了ADCx_DMA_IRQHandler(); 但我要取数据返回的完成标志位是那个哇 看F7CUBE的ADC_DMA demo,虽然DMA中断和ADC中断都开了,但是完成标志位都是在HAL_ADC_ConvCpltCallback里面设置的。
我L4的多路获取值也是用的这个,暂时没发现问题。 morphlings2014 发表于 2018-1-30 13:24
看F7CUBE的ADC_DMA demo,虽然DMA中断和ADC中断都开了,但是完成标志位都是在HAL_ADC_ConvCpltCallback里面 ...
我也是在HAL_ADC_ConvCpltCallback里设的很奇怪 安静ing 发表于 2018-1-30 13:21
中断是调用了ADCx_DMA_IRQHandler(); 但我要取数据返回的完成标志位是那个哇
你应该在DMA中断里设置1个自己的标志位。在读取了数据后清除标志位。 不管是HAL还是标准库,最终还是要回归寄存器,看寄存器最直接了当
缓存提取一起放到HAL_ADC_ConvCpltCallback就好了
页:
[1]