需求:拟用ADC1的IN1~7进行多通道采样,其中IN7通过多路复用开关再扩展七个通道,思路是在单个ADC通道采样中断处理中切换ADC采采样通道。编程实现:
1.如何实现多通道的ADC采样频率不同,例如IN1->IN2->IN3->IN1-IN4->IN5,其中IN1采样频率为其他通道的2倍; 2.多通道单次采样是否可以如上面代码所示,在ADC采样中断中仅仅修改Channel 的参数,而rank保持不变? 3.在ADC采样中断处理中是否可以重新配置ADC采样通道及配置? |
关于stm32g030f6p6 adc3个值问题 temp vrefint vbat
STM32 双ADC同步注入转换模式,模块ADC2没有数据。
STM32G0B1adc+dma采样数据错位
STM32H743+USB3300传输采集的数据前几次会丢包问题
H750/743 VREFBUF配置问题
关于STM32F4的ADC测量不准确
与HAL_ADC_Start_DMA相关的一个十分怪异的问题
双重ADC的DMA请求
ADC硬件过采样是怎么实现的
STM32L431进入STOP1模式后ADC产生多余功耗
==>一共5个通道,每次转换1个通道。这样安排我觉得没啥不好。当然我也还没想出更好的办法。
2.多通道单次采样是否可以如上面代码所示,在ADC采样中断中仅仅修改Channel 的参数,而rank保持不变?
==>可以这样的。你可以参照那个sConfig结构体只修改通道再调用下那个ADC_ConfigChannel配置函数。或者直接操作寄存器也行。
3.在ADC采样中断处理中是否可以重新配置ADC采样通道及配置?
==>不该有问题。如果中断多的话,可以先建个标志外部来修改配置也行。
这些都有例程,可以参考、比较着来。
如果答复2、3成立的话,那么可以自定义每个通道的采样率了,可以在中断处理中控制采样通道,谢谢