登录/注册

stm32f103 adc打不开

更多

STM32F103 的ADC无法启动可能由多种原因导致,以下是一些常见问题及解决方法:


1. 时钟未使能


2. GPIO引脚模式错误


3. ADC参数配置错误


4. 未触发转换


5. 电源/参考电压问题


6. 中断或DMA配置问题


7. 硬件问题


示例代码框架

void ADC_Init() {
  // 1. 使能时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_ADC1, ENABLE);

  // 2. 配置GPIO为模拟输入
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  // 3. 配置ADC参数
  ADC_InitTypeDef ADC_InitStructure;
  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);

  // 4. 配置ADC通道及采样时间
  ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);

  // 5. 使能ADC并校准
  ADC_Cmd(ADC1, ENABLE);
  ADC_ResetCalibration(ADC1);
  while(ADC_GetResetCalibrationStatus(ADC1));
  ADC_StartCalibration(ADC1);
  while(ADC_GetCalibrationStatus(ADC1));
}

// 读取ADC值
uint16_t Read_ADC() {
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
  return ADC_GetConversionValue(ADC1);
}

通过以上步骤排查,通常可以解决ADC无法启动的问题。如果问题依然存在,建议使用调试器(如ST-Link)检查寄存器状态(如ADC_CR2ADC_SR)确认ADC是否已使能并完成转换。

stm32f302和stm32f103ADC区别是什么?

请问stm32f302和stm32f103的ADC除了stm32f103

2024-05-15 08:03:36

STM32F103VET6

1970-01-01 08:00:00 至 1970-01-01 08:00:00

学习STM32F103ADC功能

三勺最近在学习STM32F103的ADC功能,居然连最简单的独立模式的单通道的电压采集都不能实现,这就不能忍了,这是对智商的侮辱。

2023-10-24 16:06:03

GD32F103STM32F103的区别 2021.6.2

GD32F103和STM32F103区别介绍关键词Key words:GD32F103、

资料下载 李杰 2021-12-08 11:06:03

STM32F103用户使用手册

STM32F103用户使用手册

资料下载 倚東聽海 2021-12-06 09:47:21

基于STM32f103的输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

采用STM32F103硬件ADC功能进行光照强度采集

光照强度采集ADC方式采集,STM32F103本身自带有硬件ADC功能。将采集到的数据实时刷新到屏幕上即可完成波形显示。

2022-05-31 11:32:52

如何对STM32F103 ADC寄存器进行配置

STM32F103系列有几个ADC?STM32F103系列的ADC主要特

2021-09-27 09:08:10

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签