ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_71Cycles5 );什么意思
时间: 2024-05-18 16:15:32 浏览: 82
这段代码是配置ADC的正常转换模式。具体意思如下:
ADC1:使用的ADC单元
ADC_Channel_0:选择ADC通道0进行模拟信号采样
1:指定ADC转换序列中第1个采样
ADC_SampleTime_71Cycles5:指定ADC采样时间,这里是71.5个时钟周期
这段代码的作用是启动ADC的正常转换模式,并采集ADC通道0上的模拟信号,采样时间为71.5个时钟周期。采样完成后,ADC将会把转换结果存储在相应的数据寄存器中,供后续程序使用。
相关问题
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_71Cycles5 );是什么意思
这是STM32的ADC配置函数,具体含义如下:
ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime);
- ADCx:表示要使用的ADC模块,比如ADC1、ADC2等;
- ADC_Channel:表示要采样的通道,比如ADC_Channel_0表示采样ADC1的通道0;
- Rank:表示采样通道的优先级,0是最高优先级,1是次高优先级,以此类推;
- ADC_SampleTime:表示采样时间,采样时间越长,精度越高,但速度越慢。
因此,ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_71Cycles5 )的意思是:使用ADC1模块,采样ADC1的通道0,优先级为1,采样时间为71.5个时钟周期。
如果已知STM 32外设总线APB 2的时钟为72 MHz,APB 1时钟为36 Mhz,并调用库函数RCC_ADCCLKConfig(RCC_PCLK 2_Div 8); 实现模数转换器的时钟配置.已知内部温度传感器模拟输入推荐采样时间是17.1us,则调用库函数_RegularChannelConfig(ADC 1,ADC_Channel_16,1,参数4); 实现规则通道配置时,参数4可选择的最小值应该是:O ADC_SampleTime_71 Cycles 5 B.ADC_SampleTime_1Cycles5C.ADC_SampleTime_41Cycles5D.ADC_SampleTime_28Cycles5E.ADC_SampleTime_13Cycles5F ADC_SampleTime_239Cycles56.ADC_SampleTime_7Cycles5H.ADC_SampleTime_55Cycles5
根据题目所给的信息,可知ADC的时钟源来自于APB2的时钟,即为72 MHz/8=9 MHz。因为内部温度传感器的模拟输入推荐采样时间为17.1us,所以可得到ADC的采样时间为:1/9000000*1.5=0.0000001667 s=166.7 ns。而在调用函数_RegularChannelConfig时,参数4代表采样周期,可从题目中给出的选项中选择一个最小值大于等于166.7 ns的值。从选项中可知,ADC_SampleTime_13Cycles5是最小值,对应的采样时间为13.5个ADC时钟周期,即1.5us,大于166.7 ns,因此参数4可选择的最小值应该是ADC_SampleTime_13Cycles5。
阅读全文