微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32 ADC库函数编程自学笔记

STM32 ADC库函数编程自学笔记

时间:10-02 整理:3721RD 点击:
只自学了简单的ADC独立编程,没有学习双ADC模式编程,规则组和注入组一起使用也没有相应的例程学习,就简单记录下ADC编程的基本操作:ADC主要有几个寄存器需要记住:ADC_SR
ADC_CR1  ADC_CR2
ADC_SMPR1   SDC_SMPR2
ADC_SQR1/2/3
ADC_JSQR
ADC_JDR1/2/3/4
ADC_DR(16位通道共用一个数据寄存器)

ADC 库函数结构体:ADC_InitTypeDef  ADC_InitStructure
ADC_InitStructure包括:
ADC_Mode;    //选择单ADC或各种双ADC模式
ADC_ScanConvMode;  //多通道(ENABLE)单通道(DISABLE)
ADC_ContinuousConvMode;   //连续(ENABLE)、单次(DISABLE)
ADC_ExternalTrigConv;    //软件触发或外部触发
ADC_DataAlign;   //对齐模式:右对齐还是左对齐
ADC_NbrOfChannel;   //设定转换通道数目

常用的函数:
ADC_Init()
ADC_Cmd()
ADC_DMACmd()
ADC_ITConfig()
ADC_SoftwareConvCmd()
ADC_RegularChannelConfig()
ADC_GetConversionValue()
ADC_ExternalTrigConvConfig()
ADC_ExternalTriginjectedConvConfig()
ADC_ExternalTriginjectedConvCmd()
ADC_InjectedChannleConfig()
ADC_GetInjectedConversionValue()
ADC_GetFlagStatus()
ADC_ClearFlag() ADC_GetITStatus()
ADC_ClearITPendingBit()
ADC简单编程主要包括:
RCC时钟配置
开启ADC1时钟 以及相应的GPIO端口的时钟
GPIO初始化
ADC初始化
ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_55Cycles5); //转换通道的配置
ADC_Cmd(ADC1,ENABLE);   //使能ADC
ADC_SoftwareStartConvCmd(ADC1,ENABLE);  //开启软件转换


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top