首页 > 其他 > 详细

STM32CubeMX+ADC数据采集

时间:2019-12-02 23:25:13      阅读:339      评论:0      收藏:0      [点我收藏+]

设计对电池电压进行检测的应用程序

STM32理解:https://blog.csdn.net/u010893262/article/details/68942710

一、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>

 

 

STM32CubeMX+ADC数据采集

原文:https://www.cnblogs.com/jsit-dj-it/p/11972610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!