zoukankan      html  css  js  c++  java
  • STM32CubeMX+ADC数据采集

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

    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
    ", 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>
  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/jsit-dj-it/p/11972610.html
Copyright © 2011-2022 走看看