欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CUBEMX(9)--ADC通過(guò)輪詢(xún)方式讀取,USART打印

嵌入式單片機(jī)MCU開(kāi)發(fā) ? 來(lái)源:嵌入式單片機(jī)MCU開(kāi)發(fā) ? 作者:嵌入式單片機(jī)MCU開(kāi) ? 2022-11-14 16:34 ? 次閱讀

概述

本章通過(guò)使用模數(shù)轉(zhuǎn)換器ADC),通過(guò)輪詢(xún)方式采集多個(gè)ADC通道電壓。

之前已經(jīng)做過(guò)DMA方式采樣,詳情請(qǐng)查看:

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

硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是NUCLEO-F030R8的開(kāi)發(fā)板:

在這里插入圖片描述

選擇芯片型號(hào)

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

在這里插入圖片描述

配置時(shí)鐘

HSE與LSE分別為外部高速時(shí)鐘和低速時(shí)鐘,在本文中使用內(nèi)置的時(shí)鐘源,故都選擇Disable選項(xiàng),如下所示:

在這里插入圖片描述

配置時(shí)鐘樹(shù)

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

在這里插入圖片描述

串口配置

本次實(shí)驗(yàn)使用的串口1進(jìn)行串口通信,波特率配置為115200。

在這里插入圖片描述

ADC配置

STM32f030中,有一個(gè)ADC(模擬/數(shù)字轉(zhuǎn)換器),每個(gè) ADC 有 12 位、 10 位、 8 位和 6 位可選,每個(gè)ADC有16個(gè)外部通道、2個(gè)內(nèi)部通道和一個(gè)VBAT 通道的信號(hào)。

本文將開(kāi)ADC的IN0、IN1、IN15一共三個(gè)通道,來(lái)分別讀取ADC,由于串口2和IN2,IN3復(fù)用,故不使用IN2、IN3。配置如下:

在這里插入圖片描述

生成工程設(shè)置

注意在生產(chǎn)工程設(shè)置中不能出現(xiàn)中文,不然會(huì)報(bào)錯(cuò)。

在這里插入圖片描述

生成代碼

在這里插入圖片描述

配置keil

在這里插入圖片描述

代碼

在main.c中,添加頭文件,若不添加會(huì)出現(xiàn) identifier "FILE" is undefined報(bào)錯(cuò)。

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

函數(shù)聲明和串口重定向:

/* 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);//啟動(dòng)ADC
  HAL_ADC_PollForConversion(&hadc,0xffff);//表示等待轉(zhuǎn)換完成,第二個(gè)參數(shù)表示超時(shí)時(shí)間,單位ms.
  //HAL_ADC_GetState(&hadc1)為換取ADC狀態(tài),HAL_ADC_STATE_REG_EOC表示轉(zhuǎn)換完成標(biāo)志位,轉(zhuǎn)換數(shù)據(jù)可用。
  if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))//就是判斷轉(zhuǎn)換完成標(biāo)志位是否設(shè)置,HAL_ADC_STATE_REG_EOC表示轉(zhuǎn)換完成標(biāo)志位,轉(zhuǎn)換數(shù)據(jù)可用
  {
   //讀取ADC轉(zhuǎn)換數(shù)據(jù),數(shù)據(jù)為12位。查看數(shù)據(jù)手冊(cè)可知,寄存器為16位存儲(chǔ)轉(zhuǎn)換數(shù)據(jù),數(shù)據(jù)右對(duì)齊,則轉(zhuǎn)換的數(shù)據(jù)范圍為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 */

演示效果

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

在這里插入圖片描述

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6537

    瀏覽量

    545885
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    195

    瀏覽量

    30995
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    284

    瀏覽量

    15052
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CUBEMX(9)--ADC通過(guò)輪詢(xún)方式讀取,USART打印

    概述 本章通過(guò)使用模數(shù)轉(zhuǎn)換器(ADC),通過(guò)輪詢(xún)方式采集多個(gè)ADC通道電壓。 之前已經(jīng)做過(guò)DMA
    發(fā)表于 09-10 15:31

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

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

    STM32CUBEME--ADC通過(guò)輪詢(xún)方式讀取

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

    STM32CubeMX軟件工程描述_ USART配置過(guò)程

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

    STM32單片機(jī)基礎(chǔ)21——使用ADC讀取電壓值

    title: 【STM32Cube-21】使用ADC讀取電壓值tags: STM32CubeMX ADCcategories: STM32C
    發(fā)表于 11-19 09:51 ?35次下載
    <b class='flag-5'>STM32</b>單片機(jī)基礎(chǔ)21——使用<b class='flag-5'>ADC</b><b class='flag-5'>讀取</b>電壓值

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)
    發(fā)表于 11-24 13:51 ?85次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十二)<b class='flag-5'>STM32</b>的定時(shí)器觸發(fā)的固定頻率<b class='flag-5'>ADC</b>采樣(使用DMA)

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

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

    STM32CUBEMX(10)--Flash讀寫(xiě)

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

    STM32CubeMX完成USART串口通信

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

    STM32CubeMX實(shí)現(xiàn)串口通信(中斷方式

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

    STM32CubeMX學(xué)習(xí)筆記——STM32H743_DAC

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

    STM32CubeMX與HAL庫(kù)學(xué)習(xí)--ADCUSART的簡(jiǎn)單練習(xí)

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

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

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

    STM32CUBEMX開(kāi)發(fā)GD32F303(10)----雙ADC輪詢(xún)模式掃描多個(gè)通道

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

    STM32CubeMx配置USART1增加打印功能

    STM32CubeMx配置USART1增加打印功能
    的頭像 發(fā)表于 08-22 10:32 ?1324次閱讀
    <b class='flag-5'>STM32CubeMx</b>配置<b class='flag-5'>USART</b>1增加<b class='flag-5'>打印</b>功能