STM32CubeMX-ADC数据采集
ADC(Analog-to-Digital Converter)模数转换器
ADC外设的工作参数配置
ADC外设的工作参数配置
配置USART外设的工作参数
生成代码
在main.c文件中设置所需变量,
- /* USER CODE BEGIN PV */
- // ADC转换值存放
- uint16_t adc_value = 0;
- // 电压值
- float voltage = 0.0;
- // 电压值结果显示
- char voltString[50] = {0};
- /* USER CODE END PV */
复制代码 在while循环里,
- while (1)
- {
- // 启动ADC转换
- HAL_ADC_Start(&hadc1);
- // 等待转换完成,第二个参数表示超时时间,单位ms
- HAL_ADC_PollForConversion(&hadc1, 100);
- // 为换取ADC状态
- adc_value = HAL_ADC_GetValue(&hadc1);
- // 采取的右对齐除以2的12次方,参考电压为3.3V
- voltage = (float)adc_value / 4096 * 3.3;
- sprintf(voltString, "²É¼¯µ½µÄµçѹֵΪ: %.2f V", voltage);
- printf("%s\r\n", voltString);
- HAL_Delay(1000);
- /* USER CODE END WHILE */
- /* USER CODE BEGIN 3 */
- }
复制代码 在USART.c添加,
- #include "usart.h"
- int fputc(int ch, FILE *f)
- {
- HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
- return ch;
- }
复制代码 在USART.h添加,
- #include "main.h"
- #include <stdio.h>
复制代码
|