1.概述
经常需要使用ST内置ADC进行采样,但是ST内置ADC模块的功能非常强大复杂,今天就探讨一下利用定时器和DMA实现等间隔采样。
硬件平台采用STM32F722RE,这款微处理器性价比超级高,用来做信号采样和调理是很合算的,主频最高达到216MHz,在立创商城的价格才28元。
本文演示的应用场景是用20kHz采样率,等间隔采样一段音频信号。
本文探讨的主题有以下几个:
定时器有没有必要开中断
ADC几种工作模式的区别
如何使用定时器作为ADC外部触发源
ADC有没有必要开中断
DMA两种工作模式的区别
DMA有没有必要开中断
2.硬件配置
2.1 定时器配置
选用高级定时器1作为ADC的外部触发源,系统主频配置为200MHz仅仅是方便计算采样率。通过STM32CubeMx对定时器1进行配置,如图1所示。
图1 定时器1配置
其中,定时器时钟源Clock Source选择Internal Clock,激活定时器
计数周期 Counter Period(Auto-Reload Register)配置为10000,那么