STM32F103RCT6學習之五:ADC

1.ADC基礎

  • ADC(Analog-Digital Converter)模擬-數字轉換器
  • ADC可以將引腳上連續變化的模擬電壓轉換為內存中存儲的數字變量,建立模擬電路到數字電路的橋梁
  • 12位逐次逼近型ADC,1us轉換時間 輸入電壓范圍:0~3.3V,轉換結果范圍:0~4095
  • 18個輸入通道,可測量16個外部和2個內部信號源
  • 規則組和注入組兩個轉換單元
  • 模擬看門狗自動監測輸入電壓范圍
  • STM32F103RCT6 ADC資源:ADC1、ADC2,ADC3

?ADC數據對齊:

數據右對齊數據左對齊

2.查詢方式測量電壓

1)進行基本配置

2)編輯代碼

除了與串口有關的外,代碼主要是在main函數中,主要涉及ADC的轉換流程:啟動--》等待轉換完成--》讀取傳話數值

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_ADC1_Init();/* USER CODE BEGIN 2 */HAL_ADCEx_Calibration_Start(&hadc1);    //對 ADC 進行校準,確保采樣準確性uint16_t ADC_Value;/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */HAL_ADC_Start(&hadc1);     //開啟ADC轉換if (HAL_ADC_PollForConversion(&hadc1, 50) == HAL_OK) {  //等待 ADC 轉換完成,超時時間為 50msif(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) // 檢查ADC是否轉換完成  EOC = End Of Conversion,轉換完成標志位{ADC_Value = HAL_ADC_GetValue(&hadc1);   //獲取ADC采樣值printf("ADC1 Reading : %d \r\n",ADC_Value);  //輸出ADC采樣值printf("PA1 True Voltage value : %.2fV \r\n",ADC_Value*3.3f/4096);  //根據參考電壓,計算并輸出采集電壓 3.3f表示浮點計算}}HAL_Delay(500);/* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

3)分析

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64294.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

strncpy函數和使用案例

strncpy 是 C 語言標準庫函數之一,用于字符串操作。它的功能是將源字符串(source)中的字符復制到目標字符串(destination)中,但最多復制 n 個字符。如果源字符串的長度小于 n,則目標字符串剩余的…

實現類似gpt 打字效果

1. css的動畫(animation) css中實現動畫有兩種方式:transition過渡動畫、 animation自定義動畫。 具體的可以看MDN鏈接:https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation 使用keyframes自定義關鍵幀動畫并未其命名使用自定義動…

微軟遠程桌面APP怎么用

微軟遠程桌面(Remote Desktop)客戶端(RD Client)是一款由微軟開發的應用程序,允許用戶通過網絡連接遠程訪問和控制另一臺計算機。同時,微軟遠程桌面RD Client支持多種設備和操作系統,包括Window…

【每日學點鴻蒙知識】grid里面的item支持拖動問題、WebView回調問題、獲取頁面名稱、彈幕效果實現、修改App輸出路徑 |

1、HarmonyOS grid里面的item支持拖動問題? 想要grid里面的item支持拖動,拖出來后可以刪除,下面的代碼就是你們上次給我提供的,正常情況下是可以使用的但是,往下拖的過程中遇到了TextInput后,gridItem的onDragMove就不會走了,我給TextInput設置了draggable(false)后…

SDK 指南

在前端開發中,SDK(Software Development Kit,軟件開發工具包)是一個用于幫助開發者在特定平臺、框架或技術棧中實現某些功能的工具集。 1. SDK 是什么? SDK 是一種開發工具包,它提供了開發人員實現某些功…

Unity3d UGUI如何優雅的實現Web框架(Vue/Rect)類似數據綁定功能(含源碼)

前言 Unity3d的UGUI系統與Web前端開發中常見的數據綁定和屬性綁定機制有所不同。UGUI是一個相對簡單和基礎的UI系統,并不內置像Web前端(例如 Vue.js或React中)那樣的雙向數據綁定或自動更新UI的機制。UGUI是一種比較傳統的 UI 系統&#xff…

OptimisticLock

想象你和你的朋友去了一家很受歡迎的餐廳。你們想要點一份特別的菜品——這家餐廳的招牌菜,但因為這道菜非常受歡迎,所以它的狀態可能會隨時變化(比如售罄或重新上架)。 傳統方式(悲觀鎖) 通常情況下&…

10分鐘掌握項目管理核心工具:WBS、甘特圖、關鍵路徑法全解析

一、引言 在項目管理的廣闊天地里,猶如一場精心編排的交響樂演奏,每個樂器、每個音符都需精準配合才能奏響美妙樂章。而 WBS(工作分解結構)、甘特圖、關鍵路徑法無疑是這場交響樂中的關鍵樂章,它們從不同維度為項目管…

TCP 和 UDP 的區別:解析網絡傳輸協議

引言 在計算機網絡的世界中,TCP(Transmission Control Protocol,傳輸控制協議)和 UDP(User Datagram Protocol,用戶數據報協議)是兩種極為重要且應用廣泛的傳輸層協議。它們在功能、特性以及適…

代碼思想之快慢路徑

處理業務代碼的過程中,對業務代碼有了一些調整,后續發現這是一種代碼思想 在一段復雜的邏輯里,我把查詢redis操作寫在了前面, 業務邏輯: 如果需要不打壓就退出本次處理 查詢redis拿到商品需要打壓的次數 如果次數 …

Java 溯本求源之基礎(三十一)——泛型

目錄 1. 泛型的定義與基本概念 2. 泛型的優勢 3. 泛型的基本語法 3.1 泛型類 3.2 泛型方法 3.3 泛型接口 4. 泛型的邊界 4.1 上限通配符(? extends T) 4.2 下限通配符(? super T) 5. 泛型的類型擦除 6. 泛型的使用場景…

純 HTML+CSS+JS 實現一個炫酷的圣誕樹動畫特效

純 HTMLCSSJS 實現一個炫酷的圣誕樹動畫特效 前言 圣誕節快到了,今天給大家帶來一個簡單但是效果不錯的圣誕樹動畫特效。這個特效完全使用原生 HTML、CSS 和 JavaScript 實現,包含閃爍的星星、隨機彩燈等元素,非常適合節日氣氛!…

Maven:Java項目構建與管理的利器

在Java開發領域,Maven無疑是一個舉足輕重的工具。它不僅簡化了項目的構建和依賴管理,還促進了團隊協作和持續集成。本文將深入探討Maven的核心功能、基本配置以及在實際項目中的應用。 Maven簡介 Maven是Apache基金會下的一個開源項目,旨在…

【ES6復習筆記】Promise對象詳解(12)

1. 什么是 Promise? Promise 是 JavaScript 中處理異步操作的一種機制,它可以讓異步操作更加容易管理和控制。Promise 對象代表一個異步操作的最終完成或失敗,并提供了一種方式來處理操作的結果。 2. Promise 的基本語法 Promise 對象有三…

【RAG實戰】語言模型基礎

語言模型賦予了計算機理解和生成人類語言的能力。它結合了統計學原理和深度神經網絡技術,通過對大量的樣本數據進行復雜的概率分布分析來學習語言結構的內在模式和相關性。具體地,語言模型可根據上下文中已出現的詞序列,使用概率推斷來預測接…

【ES6復習筆記】Map(14)

概念 Map 是 JavaScript 中的一種數據結構,它允許你存儲鍵值對,并且可以通過鍵來訪問對應的值。在本教程中,我們將學習如何聲明、添加、刪除、獲取和遍歷 Map 集合。 ES6 提供了 Map 數據結構。它類似于對象,也是鍵值對的集合。…

富芮坤FR800X系列之PWM輸出程序應用設計

文章目錄 前言1.設計背景2.簡介3.如何設計控制調光的接口呢4.硬件設計5.軟件設計5.1.軟件流程圖5.2.軟件代碼 6.小結 前言 版權歸作者所有、未經允許、請勿轉載。 讀者對象: 本文檔主要適用以下工程師: ?嵌入式系統工程師 ?單片機軟件工程師 ?IOT固…

Ftrans數據擺渡系統 搭建安全便捷跨網文件傳輸通道

一、專業數據擺渡系統對企業的意義 專業的數據擺渡系統對企業具有重要意義,主要體現在以下幾個方面?: 1、?數據安全性?:數據擺渡系統通過加密傳輸、訪問控制和審計日志等功能,確保數據在傳輸和存儲過程中的安全性。 2、?高…

EasyPoi 使用$fe:模板語法生成Word動態行

1 Maven 依賴 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.0.0</version> </dependency> 2 application.yml spring:main:allow-bean-definition-over…

定義Shape:打造屬于你的獨特圖形

自定義Shape:打造屬于你的獨特圖形 在Android開發中,自定義圖形繪制是一個非常重要的技能,尤其是在需要實現復雜UI或特定設計需求時。Android提供了android.graphics.drawable.shapes包,其中包含了一些基本的形狀類,如RectShape、OvalShape等。然而,有時這些基本形狀無法…