日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32CUBEMX(9)--ADC通過輪詢方式讀取,USART打印

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2022-11-14 16:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

本章通過使用模數轉換器ADC),通過輪詢方式采集多個ADC通道電壓。

之前已經做過DMA方式采樣,詳情請查看:

https://blog.csdn.net/qq_24312945/article/details/106557538

硬件準備

首先需要準備一個開發(fā)板,這里我準備的是NUCLEO-F030R8的開發(fā)板:

在這里插入圖片描述

選擇芯片型號

使用STM32CUBEMX選擇芯片stm32f030r8,如下所示:

在這里插入圖片描述

配置時鐘

HSE與LSE分別為外部高速時鐘和低速時鐘,在本文中使用內置的時鐘源,故都選擇Disable選項,如下所示:

在這里插入圖片描述

配置時鐘樹

STM32F0的最高主頻到48M,所以配置48即可:

在這里插入圖片描述

串口配置

本次實驗使用的串口1進行串口通信,波特率配置為115200。

在這里插入圖片描述

ADC配置

STM32f030中,有一個ADC(模擬/數字轉換器),每個 ADC 有 12 位、 10 位、 8 位和 6 位可選,每個ADC有16個外部通道、2個內部通道和一個VBAT 通道的信號

本文將開ADC的IN0、IN1、IN15一共三個通道,來分別讀取ADC,由于串口2和IN2,IN3復用,故不使用IN2、IN3。配置如下:

在這里插入圖片描述

生成工程設置

注意在生產工程設置中不能出現中文,不然會報錯。

在這里插入圖片描述

生成代碼

在這里插入圖片描述

配置keil

在這里插入圖片描述

代碼

在main.c中,添加頭文件,若不添加會出現 identifier "FILE" is undefined報錯。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函數聲明和串口重定向:

/* USER CODE BEGIN PTD */
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */


PUTCHAR_PROTOTYPE
{
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PTD */

變量定義:

/* USER CODE BEGIN 0 */
uint8_t i;
uint16_t adcBuf[3];//存放ADC
/* USER CODE END 0 */

主循環(huán):

/* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    i=0; 
 while(i<3)
 {
  HAL_ADC_Start(&hadc);//啟動ADC
  HAL_ADC_PollForConversion(&hadc,0xffff);//表示等待轉換完成,第二個參數表示超時時間,單位ms.
  //HAL_ADC_GetState(&hadc1)為換取ADC狀態(tài),HAL_ADC_STATE_REG_EOC表示轉換完成標志位,轉換數據可用。
  if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))//就是判斷轉換完成標志位是否設置,HAL_ADC_STATE_REG_EOC表示轉換完成標志位,轉換數據可用
  {
   //讀取ADC轉換數據,數據為12位。查看數據手冊可知,寄存器為16位存儲轉換數據,數據右對齊,則轉換的數據范圍為0~2^12-1,即0~4095.
   adcBuf[i]=HAL_ADC_GetValue(&hadc);
     printf("
adc%d=%4.0d,電壓=%1.4f",i,adcBuf[i],adcBuf[i]*3.3f/4096);
   i++;
  }
 }

 HAL_ADC_Stop(&hadc);
 HAL_Delay(500);        
  }
  /* USER CODE END 3 */

演示效果

設定adc0口接3.3V,adc1口接GND,adc15口接1.5V,輸出如下。

在這里插入圖片描述

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • adc
    adc
    +關注

    關注

    100

    文章

    7950

    瀏覽量

    557018
  • USART
    +關注

    關注

    1

    文章

    202

    瀏覽量

    33341
  • stm32cubemx
    +關注

    關注

    5

    文章

    290

    瀏覽量

    17488
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32CUBEMX開發(fā)GD32F303(9)----USART通過DMA收發(fā)

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD32303C_START開發(fā)板內進行驗證。 本章主要配置串口進行DMA收發(fā)。 查閱手冊可以得知,PA
    的頭像 發(fā)表于 11-29 11:15 ?3689次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開發(fā)GD32F303(<b class='flag-5'>9</b>)----<b class='flag-5'>USART</b><b class='flag-5'>通過</b>DMA收發(fā)

    STM32CUBEMX(9)--ADC通過輪詢方式讀取USART打印

    概述 本章通過使用模數轉換器(ADC),通過輪詢方式采集多個ADC通道電壓。 之前已經做過DMA
    發(fā)表于 09-10 15:31

    轉:使用STM32CubeMX生成用于STM32-V5開發(fā)板的USART工程中斷方式

    本期教程使用STM32CubeMX生成可用于STM32-V5開發(fā)板的USART1中斷方式的工程,通過本期教程讓大家對
    發(fā)表于 09-09 11:27

    STM32CUBEME--ADC通過輪詢方式讀取

    STM32CUBEME--ADC通過輪詢方式讀取USART
    發(fā)表于 08-10 07:58

    STM32CubeMX軟件工程描述_ USART配置過程

    STM32CubeMX軟件工程描述_USART配置過程
    的頭像 發(fā)表于 03-25 10:43 ?4748次閱讀
    <b class='flag-5'>STM32CubeMX</b>軟件工程描述_ <b class='flag-5'>USART</b>配置過程

    STM32CUBEMX(3)--ADC通過DMA方式采樣,USART打印

    STM32CUBEME--3ADC通過DMA方式采樣,USART打印概述硬件準備選擇芯片型號配置時鐘源配置時鐘樹串口配置
    發(fā)表于 12-01 14:51 ?7次下載
    <b class='flag-5'>STM32CUBEMX</b>(3)--<b class='flag-5'>ADC</b><b class='flag-5'>通過</b>DMA<b class='flag-5'>方式</b>采樣,<b class='flag-5'>USART</b><b class='flag-5'>打印</b>

    STM32CUBEMX(10)--Flash讀寫

    STM32CUBEME--ADC通過輪詢方式讀取,USART
    發(fā)表于 12-02 11:21 ?11次下載
    <b class='flag-5'>STM32CUBEMX</b>(10)--Flash讀寫

    STM32CUBEMX 工程添加 軟件iic讀取mpu6050

    ,USART串口 DMA發(fā)送,ADC采集,定時器中斷中進行ADC采集和USART串口發(fā)送,mpu6050代碼遷移適配從而在定時器中斷中讀取a
    發(fā)表于 12-06 12:06 ?6次下載
    <b class='flag-5'>STM32CUBEMX</b> 工程添加  軟件iic<b class='flag-5'>讀取</b>mpu6050

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    發(fā)表于 12-06 20:36 ?25次下載
    <b class='flag-5'>STM32CubeMX</b>完成<b class='flag-5'>USART</b>串口通信

    STM32CubeMX實現串口通信(中斷方式

    這里寫目錄標題一、STM32CubeMX工程創(chuàng)建1、題目要求2、配置STM32CubeMX工程一、STM32CubeMX工程創(chuàng)建1、題目要求完成一個STM32
    發(fā)表于 12-24 19:18 ?11次下載
    <b class='flag-5'>STM32CubeMX</b>實現串口通信(中斷<b class='flag-5'>方式</b>)

    STM32CubeMX學習筆記——STM32H743_DAC

    main.c使用內置的ADC1 IN19 與 DAC1 Channel1進行回環(huán)測試(設置DAC值,在外部用杜邦線連接起來使用ADC讀取值)采用STM32CubeMX 5.0.0 版本
    發(fā)表于 12-27 18:40 ?17次下載
    <b class='flag-5'>STM32CubeMX</b>學習筆記——<b class='flag-5'>STM32</b>H743_DAC

    STM32CubeMX與HAL庫學習--ADCUSART的簡單練習

    STM32CubeMX與HAL庫學習--ADCUSART的簡單練習前言STM32CubeMX生成初始化代碼在MDK-ARM里編輯代碼效果前言最近看了
    發(fā)表于 01-12 20:27 ?14次下載
    <b class='flag-5'>STM32CubeMX</b>與HAL庫學習--<b class='flag-5'>ADC</b>與<b class='flag-5'>USART</b>的簡單練習

    STM32CUBEMX(5)--自定義紅外NEC解碼,定時器TIM捕獲方式

    本篇文章主要介紹如何使用STM32CubeMX對紅外波形進行解碼,并通過串口打印。
    的頭像 發(fā)表于 11-14 15:48 ?4890次閱讀
    <b class='flag-5'>STM32CUBEMX</b>(5)--自定義紅外NEC解碼,定時器TIM捕獲<b class='flag-5'>方式</b>

    STM32CUBEMX開發(fā)GD32F303(10)----雙ADC輪詢模式掃描多個通道

    。 本章主要配置,雙ADC輪詢模式掃描多個通道,通過串口進行打印。 查閱手冊可以得知,PA9、PA10為串口0的輸出和輸入口。
    的頭像 發(fā)表于 11-29 17:38 ?3878次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開發(fā)GD32F303(10)----雙<b class='flag-5'>ADC</b><b class='flag-5'>輪詢</b>模式掃描多個通道

    STM32CubeMx配置USART1增加打印功能

    STM32CubeMx配置USART1增加打印功能
    的頭像 發(fā)表于 08-22 10:32 ?2388次閱讀
    <b class='flag-5'>STM32CubeMx</b>配置<b class='flag-5'>USART</b>1增加<b class='flag-5'>打印</b>功能
    彭阳县| 米脂县| 兰西县| 万年县| 海淀区| 裕民县| 确山县| 滨州市| 阿克| 福鼎市| 革吉县| 湟中县| 永福县| 井冈山市| 监利县| 山西省| 苏尼特左旗| 玛多县| 麻江县| 二连浩特市| 文登市| 林州市| 晋中市| 台南市| 富平县| 汝南县| 泸西县| 商城县| 连州市| 广灵县| 尼勒克县| 小金县| 红桥区| 会泽县| 尼木县| 宁化县| 漳州市| 屯留县| 武乡县| 衡阳县| 双江|