stm32f105 adc
时间: 2023-11-26 09:46:52 浏览: 187
stm32f105的ADC输出
STM32F105是一款基于ARM Cortex-M3内核的微控制器,它具有多个模拟数字转换器(ADC)通道,可以用于模拟信号的采集和转换。下面是使用STM32F105进行ADC采集的两种方法:
1.使用单次转换模式进行ADC采集
```c
u16 Get_Adc(u8 ch) {
//设置指定ADC的规则组通道,一个序列,采样时间
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );
//ADC1,ADC通道,采样时间为239.5周期
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
}
```
2.使用DMA模式进行ADC采集
```c
//定义一个数组用于存储采集到的数据
uint16_t ADC_Value[96];
//在main函数中的while前面添加以下代码
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC_Value, 96);
```
阅读全文