1、第一步:配置相关的AD端口为模拟或者复用输入,一般AD选模拟输入比较好,当然对于STM32F051选复用(GPIO_Mode_AF)貌似也是可以的。
2、第二步:设置目标AD所对应的NVIC,选择NVIC通道为ADC对应的中断向量,使能通道,优先级可以根据需求设置,如果采样即使性要求非常高可以考虑设置为最高优先级,但是要注意不要干扰主流程的执行。
3、第三步:配置AD主要参数和相关通道。要注意使能持续采样,同时不要开启外部触发,此外对于AD采样的速率不可太快,否则可能导致中断程序执行的速度都没AD采样快,导致程序一直在执行AD中断,无法执行其他程序。
4、第四步:一般而言,在初始化AD时都需要对其进行校准,这个对AD采样有一定的帮助。
5、第五步:加入对应的ADC采样中断处理函数,对于STM32F051的ADC1的中断函数是void ADC1_COMP_IRQHandler(void)。因为我只使用了一个AD通道,所以读取采样中断后直接将AD值保存起来,然后清除标志。
6、最后:对于主程序,可以根据具体需求添加,比如加个串口传送新采样到的AD。