你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L010F4P6的ADC多通道采集,采用扫描+DMA的方式,采集到不同通道的值会一起变化

[复制链接]
idea_9527 提问时间:2026-5-28 08:51 / 未解决

用cubeMX生成的hal库代码, 其中adc.c代码如下

/ USER CODE BEGIN Header / /**


  • @file adc.c

  • @brief This file provides code for the configuration

  • of the ADC instances.

  • @attention

  • Copyright (c) 2024 STMicroelectronics.

  • All rights reserved.

  • This software is licensed under terms that can be found in the LICENSE file

  • in the root directory of this software component.

  • If no LICENSE file comes with this software, it is provided AS-IS.


/ / USER CODE END Header / / Includes ------------------------------------------------------------------*/

include "adc.h"

/ USER CODE BEGIN 0 /

/ USER CODE END 0 /

ADC_HandleTypeDef hadc; DMA_HandleTypeDef hdma_adc;

/ ADC init function / void MX_ADC_Init(void) {

/ USER CODE BEGIN ADC_Init 0 /

/ USER CODE END ADC_Init 0 /

ADC_ChannelConfTypeDef sConfig = {0};

/ USER CODE BEGIN ADC_Init 1 /

/ USER CODE END ADC_Init 1 /

/* Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) / hadc.Instance = ADC1; hadc.Init.OversamplingMode = DISABLE; hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV4; hadc.Init.Resolution = ADC_RESOLUTION_12B; hadc.Init.SamplingTime = ADC_SAMPLETIME_12CYCLES_5; hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD; hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc.Init.ContinuousConvMode = ENABLE; hadc.Init.DiscontinuousConvMode = DISABLE; hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc.Init.DMAContinuousRequests = ENABLE; hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV; hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED; hadc.Init.LowPowerAutoWait = DISABLE; hadc.Init.LowPowerFrequencyMode = DISABLE; hadc.Init.LowPowerAutoPowerOff = DISABLE; if (HAL_ADC_Init(&hadc) != HAL_OK) { Error_Handler(); }

/* Configure for the selected ADC regular channel to be converted. / sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); }

/* Configure for the selected ADC regular channel to be converted. / sConfig.Channel = ADC_CHANNEL_7; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } / USER CODE BEGIN ADC_Init 2 / / USER CODE END ADC_Init 2 /

}

void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) {

GPIO_InitTypeDef GPIO_InitStruct = {0}; if(adcHandle->Instance==ADC1) { / USER CODE BEGIN ADC1_MspInit 0 /

/ USER CODE END ADC1_MspInit 0 / / ADC1 clock enable / __HAL_RCC_ADC1_CLK_ENABLE();

__HAL_RCC_GPIOA_CLK_ENABLE(); /*ADC GPIO Configuration PA0-CK_IN ------> ADC_IN0 PA7 ------> ADC_IN7 / GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

/ ADC1 DMA Init / / ADC Init / hdma_adc.Instance = DMA1_Channel1; hdma_adc.Init.Request = DMA_REQUEST_0; hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE; hdma_adc.Init.MemInc = DMA_MINC_ENABLE; hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; hdma_adc.Init.Mode = DMA_CIRCULAR; hdma_adc.Init.Priority = DMA_PRIORITY_HIGH; if (HAL_DMA_Init(&hdma_adc) != HAL_OK) { Error_Handler(); }

__HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc); / USER CODE BEGIN ADC1_MspInit 1 /

/ USER CODE END ADC1_MspInit 1 / } }

void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle) {

if(adcHandle->Instance==ADC1) { / USER CODE BEGIN ADC1_MspDeInit 0 /

/ USER CODE END ADC1_MspDeInit 0 / / Peripheral clock disable / __HAL_RCC_ADC1_CLK_DISABLE();

/*ADC GPIO Configuration PA0-CK_IN ------> ADC_IN0 PA7 ------> ADC_IN7 / HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_7);

/ ADC1 DMA DeInit / HAL_DMA_DeInit(adcHandle->DMA_Handle); / USER CODE BEGIN ADC1_MspDeInit 1 /

/ USER CODE END ADC1_MspDeInit 1 / } }

/ USER CODE BEGIN 1 /

/ USER CODE END 1 /

其中main.c代码如下

/ USER CODE BEGIN Header / /**


  • @file : main.c
  • @brief : Main program body

  • @attention
  • Copyright (c) 2024 STMicroelectronics.
  • All rights reserved.
  • This software is licensed under terms that can be found in the LICENSE file
  • in the root directory of this software component.
  • If no LICENSE file comes with this software, it is provided AS-IS.

/ / USER CODE END Header / / Includes ------------------------------------------------------------------*/

include "main.h"

include "adc.h"

include "dma.h"

include "usart.h"

include "gpio.h"

/ Private includes ----------------------------------------------------------/ / USER CODE BEGIN Includes /

include <stdio.h>

/ USER CODE END Includes /

/ Private typedef -----------------------------------------------------------/ / USER CODE BEGIN PTD /

/ USER CODE END PTD /

/ Private define ------------------------------------------------------------/ / USER CODE BEGIN PD /

/ USER CODE END PD /

/ Private macro -------------------------------------------------------------/ / USER CODE BEGIN PM /

/ USER CODE END PM /

/ Private variables ---------------------------------------------------------/

/ USER CODE BEGIN PV /

/ USER CODE END PV /

/ Private function prototypes -----------------------------------------------/ void SystemClock_Config(void); / USER CODE BEGIN PFP /

/ USER CODE END PFP /

/ Private user code ---------------------------------------------------------/ / USER CODE BEGIN 0 / int fputc(int ch, FILE f) { HAL_UART_Transmit(&huart2, (uint8_t )&ch, 1, 1000);

return ch; } / USER CODE END 0 / uint16_t adcValue[2] = { 0 }; /**

  • @brief The application entry point.
  • @retval int */ int main(void) {

/ USER CODE BEGIN 1 / uint16_t value = 0; float voltage = 0; / USER CODE END 1 /

/ MCU Configuration--------------------------------------------------------/

/ Reset of all peripherals, Initializes the Flash interface and the Systick. / HAL_Init();

/ USER CODE BEGIN Init /

/ USER CODE END Init /

/ Configure the system clock / SystemClock_Config();

/ USER CODE BEGIN SysInit /

/ USER CODE END SysInit /

/ Initialize all configured peripherals / MX_GPIO_Init(); MX_DMA_Init(); MX_ADC_Init(); MX_USART2_UART_Init(); / USER CODE BEGIN 2 / HAL_ADCEx_Calibration_Start(&hadc, ADC_SINGLE_ENDED); printf("adjust done\r\n"); / USER CODE END 2 / HAL_ADC_Start_DMA(&hadc, (uint32_t )adcValue, 2); / Infinite loop / / USER CODE BEGIN WHILE */ while (1) { HAL_Delay(1000); printf("adc_values[0]=%d, [1]=%d\r\n", adcValue[0], adcValue[1]);

// printf("adc_values[0]=%d, [1]=%d, [2]=%d, [3]=%d, [4]=%d, [5]=%d, [6]=%d, [7]=%d\r\n", // adcValue[0], adcValue[1], adcValue[2], // adcValue[3], adcValue[4], adcValue[5], adcValue[6],adcValue[7] ); // HAL_ADC_Start(&hadc); // HAL_ADC_PollForConversion(&hadc, 100); // value = HAL_ADC_GetValue(&hadc); // HAL_ADC_Stop(&hadc);

//voltage = adc_values[0]3.3/4096; //printf("PA0 voltage %.2f\r\n", voltage); //voltage = adc_values[1]3.3/4096; //printf("PA7 voltage %.2f\r\n", voltage); / USER CODE END WHILE /

/ USER CODE BEGIN 3 / } / USER CODE END 3 / }

/**

  • @brief System Clock Configuration
  • @retval None */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};

/* Configure the main internal regulator output voltage / __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);

/** Initializes the RCC Oscillators according to the specified parameters

  • in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4; RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); }

/* Initializes the CPU, AHB and APB buses clocks / RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) { Error_Handler(); } PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2; PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { Error_Handler(); } }

/ USER CODE BEGIN 4 /

/ USER CODE END 4 /

/**

  • @brief This function is executed in case of error occurrence.
  • @retval None / void Error_Handler(void) { / USER CODE BEGIN Error_Handler_Debug / / User can add his own implementation to report the HAL error return state / __disable_irq(); while (1) { } / USER CODE END Error_Handler_Debug */ }

    ifdef USE_FULL_ASSERT

    /**

  • @brief Reports the name of the source file and the source line number
  • where the assert_param error has occurred.
    • @param file: pointer to the source file name
    • @param line: assert_param error line source number
    • @retval None / void assert_failed(uint8_t file, uint32_t line) { / USER CODE BEGIN 6 / / User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) / / USER CODE END 6 / }

      endif / USE_FULL_ASSERT /

其中dma.c代码如下

/ USER CODE BEGIN Header / /**


  • @file dma.c

  • @brief This file provides code for the configuration

  • of all the requested memory to memory DMA transfers.

  • @attention

  • Copyright (c) 2026 STMicroelectronics.

  • All rights reserved.

  • This software is licensed under terms that can be found in the LICENSE file

  • in the root directory of this software component.

  • If no LICENSE file comes with this software, it is provided AS-IS.


/ / USER CODE END Header */

/ Includes ------------------------------------------------------------------/

include "dma.h"

/ USER CODE BEGIN 0 /

/ USER CODE END 0 /

/----------------------------------------------------------------------------/ / Configure DMA / /----------------------------------------------------------------------------/

/ USER CODE BEGIN 1 /

/ USER CODE END 1 /

/**

  • Enable DMA controller clock */ void MX_DMA_Init(void) {

/ DMA controller clock enable / __HAL_RCC_DMA1_CLK_ENABLE();

/ DMA interrupt init / / DMA1_Channel1_IRQn interrupt configuration / HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);

}

/ USER CODE BEGIN 2 /

/ USER CODE END 2 /

目前用PA0和PA7测试,现象是任一个接GND或3.3V,另一个采集到的电压都会跟着变

日志如下

[08:41:42.257]收←◆adc_values[0]=248, [1]=504

[08:41:43.253]收←◆adc_values[0]=234, [1]=530

[08:41:44.257]收←◆adc_values[0]=255, [1]=506

[08:41:44.482]收←◆adjust done

[08:41:45.486]收←◆adc_values[0]=236, [1]=524

[08:41:46.495]收←◆adc_values[0]=227, [1]=521

[08:41:47.495]收←◆adc_values[0]=267, [1]=510

[08:41:48.504]收←◆adc_values[0]=245, [1]=504

[08:41:49.504]收←◆adc_values[0]=252, [1]=502

[08:41:50.504]收←◆adc_values[0]=258, [1]=508

[08:41:51.512]收←◆adc_values[0]=227, [1]=516

[08:41:52.503]收←◆adc_values[0]=247, [1]=501

[08:41:53.510]收←◆adc_values[0]=216, [1]=512

[08:41:54.516]收←◆adc_values[0]=249, [1]=505

[08:41:55.522]收←◆adc_values[0]=252, [1]=501

[08:41:56.523]收←◆adc_values[0]=249, [1]=505

[08:41:57.522]收←◆adc_values[0]=253, [1]=502

[08:41:58.523]收←◆adc_values[0]=244, [1]=490

[08:41:59.537]收←◆adc_values[0]=255, [1]=506

[08:42:00.536]收←◆adc_values[0]=221, [1]=466

[08:42:01.535]收←◆adc_values[0]=229, [1]=481

[08:42:02.550]收←◆adc_values[0]=238, [1]=530

[08:42:03.550]收←◆adc_values[0]=296, [1]=506

[08:42:04.551]收←◆adc_values[0]=296, [1]=503

[08:42:05.546]收←◆adc_values[0]=236, [1]=489

[08:42:06.555]收←◆adc_values[0]=220, [1]=495

[08:42:07.547]收←◆adc_values[0]=438, [1]=600

[08:42:08.553]收←◆adc_values[0]=273, [1]=522

[08:42:09.561]收←◆adc_values[0]=937, [1]=872

[08:42:10.565]收←◆adc_values[0]=757, [1]=768

[08:42:11.561]收←◆adc_values[0]=307, [1]=522

[08:42:12.564]收←◆adc_values[0]=386, [1]=543

[08:42:13.568]收←◆adc_values[0]=689, [1]=733

[08:42:14.572]收←◆adc_values[0]=519, [1]=660

[08:42:15.576]收←◆adc_values[0]=288, [1]=509

[08:42:16.572]收←◆adc_values[0]=257, [1]=506

[08:42:17.579]收←◆adc_values[0]=265, [1]=510

[08:42:18.584]收←◆adc_values[0]=240, [1]=490

[08:42:19.590]收←◆adc_values[0]=274, [1]=504

[08:42:20.592]收←◆adc_values[0]=247, [1]=493

[08:42:21.602]收←◆adc_values[0]=230, [1]=522

[08:42:22.605]收←◆adc_values[0]=234, [1]=489

[08:42:23.607]收←◆adc_values[0]=263, [1]=510

[08:42:24.611]收←◆adc_values[0]=228, [1]=517

[08:42:25.609]收←◆adc_values[0]=2113, [1]=1590

[08:42:26.623]收←◆adc_values[0]=2109, [1]=1608

[08:42:27.620]收←◆adc_values[0]=2107, [1]=1597

[08:42:28.626]收←◆adc_values[0]=2109, [1]=1610

[08:42:29.621]收←◆adc_values[0]=2109, [1]=1567

[08:42:30.627]收←◆adc_values[0]=2109, [1]=1589

[08:42:31.627]收←◆adc_values[0]=4095, [1]=3208

[08:42:32.632]收←◆adc_values[0]=2107, [1]=1602

[08:42:33.638]收←◆adc_values[0]=2100, [1]=1590

[08:42:34.645]收←◆adc_values[0]=2107, [1]=1605

[08:42:35.647]收←◆a [08:42:35.663]收←◆dc_values[0]=2105, [1]=1562

[08:42:36.652]收←◆adc_values[0]=2107, [1]=1580

[08:42:37.661]收←◆adc_values[0]=2105, [1]=1593

[08:42:38.665]收←◆adc_values[0]=2106, [1]=1587

[08:42:39.671]收←◆adc_values[0]=2105, [1]=1594

[08:42:40.667]收←◆adc_values[0]=2106, [1]=1558

[08:42:41.684]收←◆adc_values[0]=2103, [1]=1604

[08:42:42.688]收←◆adc_values[0]=2108, [1]=1594

[08:42:43.677]收←◆adc_values[0]=2103, [1]=1576

[08:42:44.686]收←◆adc_values[0]=4095, [1]=3168

[08:42:45.688]收←◆adc_values[0]=4095, [1]=3162

[08:42:46.700]收←◆adc_values[0]=2107, [1]=1616

[08:42:47.703]收←◆adc_values[0]=2671, [1]=2023

[08:42:48.709]收←◆adc_values[0]=4095, [1]=3164

[08:42:49.714]收←◆adc_values[0]=4095, [1]=3163

[08:42:50.718]收←◆adc_values[0]=4095, [1]=3154

[08:42:51.722]收←◆adc_values[0]=4095, [1]=3164

[08:42:52.716]收←◆adc_values[0]=4095, [1]=3190

[08:42:53.720]收←◆adc_values[0]=4095, [1]=3184

[08:42:54.730]收←◆adc_values[0]=4095, [1]=3172

[08:42:55.735]收←◆adc_values[0]=4095, [1]=3168

[08:42:56.742]收←◆adc_values[0]=2105, [1]=1602

[08:42:57.741]收←◆adc_values[0]=2107, [1]=1598

[08:42:58.744]收←◆adc_values[0]=4095, [1]=3194

[08:42:59.742]收←◆adc_values[0]=4095, [1]=3164

[08:43:00.753]收←◆adc_values[0]=4095, [1]=3176

[08:43:01.762]收←◆adc_values[0]=4, [1]=333

[08:43:02.767]收←◆adc_values[0]=2, [1]=356

[08:43:03.769]收←◆adc_values[0]=2, [1]=367

[08:43:04.761]收←◆adc_values[0]=3, [1]=363

[08:43:05.762]收←◆adc_values[0]=4095, [1]=3154

[08:43:06.771]收←◆adc_values[0]=2105, [1]=1617

[08:43:07.777]收←◆adc_values[0]=2108, [1]=1536

[08:43:08.785]收←◆adc_values[0]=2104, [1]=1565

[08:43:09.790]收←◆adc_values[0]=2105, [1]=1573

[08:43:11.797]收←◆adc_values[0]=2105, [1]=1583

[08:43:12.789]收←◆adc_values[0]=2108, [1]=1588

[08:43:13.809]收←◆adc_values[0]=2107, [1]=1582

[08:43:14.813]收←◆adc_values[0]=2109, [1]=1586

[08:43:15.810]收←◆adc_values[0]=2108, [1]=1592

[08:43:16.815]收←◆adc_values[0]=2107, [1]=2068

[08:43:17.815]收←◆adc_values[0]=2105, [1]=2070

[08:43:18.819]收←◆adc_values[0]=3503, [1]=4095

[08:43:19.825]收←◆adc_values[0]=3543, [1]=4095

[08:43:20.840]收←◆adc_values[0]=3447, [1]=4095

[08:43:21.834]收←◆adc_values[0]=2109, [1]=2069

[08:43:22.841]收←◆adc_values[0]=2108, [1]=3

[08:43:23.844]收←◆adc_values[0]=2106, [1]=3

[08:43:24.851]收←◆adc_values[0]=2593, [1]=594

[08:43:25.843]收←◆adc_values[0]=2107, [1]=587

[08:43:26.859]收←◆adc_values[0]=2716, [1]=2

[08:43:27.865]收←◆adc_values[0]=2105, [1]=2068

[08:43:28.854]收←◆adc_values[0]=4095, [1]=2066

[08:43:29.873]收←◆adc_values[0]=4095, [1]=2066

[08:43:30.877]收←◆adc_values[0]=2105, [1]=2068

[08:43:31.872]收←◆adc_values[0]=3, [1]=2482

[08:43:32.875]收←◆adc_values[0]=4, [1]=2478

[08:43:33.876]收←◆adc_values[0]=3, [1]=2478

[08:43:34.882]收←◆adc_values[0]=3, [1]=2482

[08:43:35.893]收←◆adc_values[0]=6, [1]=2482

[08:43:36.887]收←◆adc_values[0]=2, [1]=2478

[08:43:37.890]收←◆adc_values[0]=4, [1]=3598

[08:43:38.895]收←◆adc_values[0]=4095, [1]=2606

[08:43:39.897]收←◆adc_values[0]=4095, [1]=2606

[08:43:40.909]收←◆adc_values[0]=4095, [1]=2605

[08:43:41.906]收←◆adc_values[0]=4095, [1]=2530

[08:43:42.913]收←◆adc_values[0]=2105, [1]=2066

[08:43:43.915]收←◆adc_values[0]=2108, [1]=2066

[08:43:44.919]收←◆adc_values[0]=2105, [1]=2065

[08:43:45.927]收←◆adc_values[0]=2105, [1]=2068

[08:43:46.933]收←◆adc_values[0]=2105, [1]=2066

[08:43:47.924]收←◆adc_values[0]=2105, [1]=2068

[08:43:48.936]收←◆adc_values[0]=2107, [1]=2068

[08:43:50.946]收←◆adc_values[0]=2113, [1]=1583

[08:43:51.950]收←◆adc_values[0]=245, [1]=492

[08:43:52.957]收←◆adc_values[0]=234, [1]=484

[08:43:53.958]收←◆adc_values[0]=234, [1]=488

[08:43:54.962]收←◆adc_values[0]=240, [1]=496

[08:43:55.966]收←◆adc_values[0]=231, [1]=483

[08:43:56.959]收←◆adc_values[0]=241, [1]=487

[08:43:57.967]收←◆adc_values[0]=241, [1]=487

[08:43:58.970]收←◆adc_values[0]=230, [1]=478

[08:43:59.976]收←◆adc_values[0]=176, [1]=455

[08:44:00.982]收←◆adc_values[0]=252, [1]=489

[08:44:01.974]收←◆adc_values[0]=242, [1]=480

[08:44:02.992]收←◆adc_values[0]=272, [1]=478

[08:44:03.993]收←◆adc_values[0]=245, [1]=496

[08:44:04.993]收←◆adc_values[0]=1, [1]=334

[08:44:06.001]收←◆adc_values[0]=2, [1]=335

[08:44:07.003]收←◆adc_values[0]=2, [1]=336

[08:44:08.002]收←◆adc_values[0]=2, [1]=336

[08:44:09.004]收←◆adc_values[0]=2, [1]=338

[08:44:10.005]收←◆adc_values[0]=2, [1]=336

[08:44:11.014]收←◆adc_values[0]=0, [1]=336

[08:44:12.018]收←◆adc_values[0]=2, [1]=336

[08:44:13.014]收←◆adc_values[0]=278, [1]=471

[08:44:14.025]收←◆adc_values[0]=199, [1]=462

[08:44:15.028]收←◆adc_values[0]=211, [1]=495

[08:44:16.022]收←◆adc_values[0]=4095, [1]=3186

[08:44:17.036]收←◆adc_values[0]=4093, [1]=3186

[08:44:18.039]收←◆adc_values[0]=4093, [1]=3192

[08:44:19.043]收←◆adc_values[0]=4093, [1]=3180

[08:44:20.047]收←◆adc_values[0]=4093, [1]=3186

[08:44:21.039]收←◆adc_values[0]=4093, [1]=3186

[08:44:22.054]收←◆adc_values[0]=212, [1]=484

[08:44:23.045]收←◆adc_values[0]=240, [1]=474

[08:44:24.053]收←◆adc_values[0]=215, [1]=462

[08:44:25.054]收←◆adc_values[0]=0, [1]=337

[08:44:26.060]收←◆adc_values[0]=0, [1]=336

[08:44:27.070]收←◆adc_values[0]=0, [1]=336

[08:44:28.062]收←◆adc_values[0]=2, [1]=336

[08:44:29.067]收←◆adc_values[0]=1, [1]=336

[08:44:30.077]收←◆adc_values[0]=203, [1]=466

[08:44:31.081]收←◆adc_values[0]=249, [1]=497

[08:44:32.081]收←◆adc_values[0]=223, [1]=489

[08:44:33.090]收←◆adc_values[0]=253, [1]=486

[08:44:34.089]收←◆adc_values[0]=227, [1]=490

[08:44:35.094]收←◆adc_values[0]=239, [1]=498

[08:44:36.104]收←◆adc_values[0]=238, [1]=498

[08:44:37.105]收←◆adc_values[0]=242, [1]=478

[08:44:38.095]收←◆adc_values[0]=248, [1]=486

[08:44:39.113]收←◆adc_values[0]=232, [1]=489

[08:44:40.116]收←◆adc_values[0]=239, [1]=486

收藏 评论2 发布时间:2026-5-28 08:51

举报

2个回答
xmshao 回答时间:2026-5-28 09:51:25

不是很了解你说的跟着变。

你现在把转换通道接上已知信号,测得信号正确、靠谱就是对的。悬空的不算。

butterflyspring 回答时间:2026-5-28 09:59:30
其他引脚悬空了么?
如果悬空,采样电容上的电荷都不能经过正常充放电过程,所以结果不可信。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版