首先保证将波形缩放到0-3.3V,避免被测波形烧毁单片机。使用ADC功能采集,STM32的ADC数据一般为12位精度,也就是0-4095,当然,STM32的ADC功能有很多种模式,可以根据自己的需要进行配置。可以配置成单次扫描,也就是说,每次ADC触发只扫描一个通道,也可以配置成连续扫描,每次ADC触发扫描所有被选通道。可以选择使用DMA传输,也可以选择不适用DMA传输。不止如此,可以选择软件触发,也就是程序上触发ADC采样,也可以选择硬件触发,一般是与TIM的输出相配合,比如使用某个PWM的上升沿去触发ADC进行采样,这个就应用在一些对于采样时刻有要求的场合,也可以使用外部中断触发信号。STM32F0是只有规则注入这种模式的,这种模式就是按照采样通道事先配置好的顺序,一个个采样。但从STM32F1开始,不止有规则注入,也有触发注入。触发注入可以在触发信号时,优先去采样触发通道,触发通道最大有3个。
根据你的波形特性,看你是需要那种ADC触发来采集,一般来说,就是一直开着ADC,然后使用DMA一直往一个数组里传最新数据即可。当然使用PWM触发ADC采样也是很常用的。具体情况具体分析。