stm32f103 ADC1采样基础配置及使用
时间: 2023-09-28 17:13:00 浏览: 105
使用stm32f103进行采集
1. ADC1采样基础配置:
(1)使能ADC1的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
(2)ADC1基础配置
ADC_InitTypeDef ADC_InitStructure;
//ADC1配置
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //非扫描模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //单次转换模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //要转换的通道数目
ADC_Init(ADC1, &ADC_InitStructure);
(3)设置ADC1的采样通道
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);
(4)启动ADC1
ADC_Cmd(ADC1, ENABLE);
2. ADC1采样使用:
(1)配置ADC1的采样通道
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);
(2)启动ADC1的转换
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
(3)等待转换完成
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
(4)读取转换结果
u16 ADC_Value = ADC_GetConversionValue(ADC1);
阅读全文