我想做的并行化具体是:一边在DMA控制下,ADC采集传输;另一边CPU对上一周期(每个周期1024次采集)采集的数据进行处理。若本次数据采集传输先于上次数据处理完成,则停等。
问题一:如何做双缓存区?因为DMA在初始化时,需要在一个结构体里填缓存区的首地址,那我现在轮流用两个缓存区,如何解决?
问题二:我现在打算用的硬件是STM32F103ZET6或STM32F429ZI,后者有两个支持DMA的ADC,我打算一个ADC一个缓存区,轮流用两个ADC,这样解决问题一。就是输出一根线分开连两个DAC会有什么问题吗(两个ADC并联且只有一个时间只有一个在使用)?
问题三:初始化过程中的使能函数太多了,我想采集一个周期后,停止,再重新配置,开启。应该怎样操作?
谢谢你的回答! |