STM32CubeMX + ADCデータの取得

バッテリ電圧検出アプリケーションの設計

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

A、ADC(アナログ - デジタル変換器)アナログ - デジタル変換器

アナログ----->デジタル・シグナル

                               

 

第二に、ADC周辺構成の動作パラメータ

 

第二に、ADC周辺構成の動作パラメータ

 

第三に、動作パラメータUSART周辺機器の設定

 

 

 第四に、コードを生成

main.cのファイルに必要な変数を設定します

/ * ユーザコードは、PV BEGIN * / 
// ADC値が格納されている変換 
uint16_t = adc_value 0 ;    
 // の電圧値
フロート電圧= 0.0 ;
 // 電圧の結果は、
チャー [voltStringを50 ] = { 0 };
 / * ユーザコード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>

 

 

おすすめ

転載: www.cnblogs.com/jsit-dj-it/p/11972610.html