最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32CUBEIDE(10)----ADC在DMA模式下掃描多個通道

2022-12-14 12:40 作者:記帖  | 我要投稿


概述

本章STM32CUBEMX配置STM32F103的ADC在DMA模式掃描多個通道,通過串口進行打印。 需要GD樣片的可以加Q_QUN申請:615061293。

視頻教學(xué)

https://www.bilibili.com/video/BV1ST411w7hS


csdn課程

課程更加詳細。?https://download.csdn.net/course/detail/35611

代碼下載

https://download.csdn.net/download/qq_24312945/86395148

生成例程

使用STM32CUBEMX生成例程,這里使用NUCLEO-F103RB開發(fā)板?

在這里插入圖片描述

?查看原理圖,PA2和PA3設(shè)置為開發(fā)板的串口。?

在這里插入圖片描述

?配置串口。

在這里插入圖片描述

?開啟中斷。?

在這里插入圖片描述

?查看原理圖,Arduino的接口A0-A5都是AD口。?

在這里插入圖片描述

?ADC通道配置 | ADC1 | IN0(PA0) |IN1(PA1) |IN4(PA4) | |--|--|--|--|

ADC1配置。

在這里插入圖片描述
  • ADCs_Common_Settings:

    • Mode:Independent mod 獨立 ADC 模式,當(dāng)使用一個 ADC 時是獨立模式,使用兩個 ADC 時是雙模式,在雙模式下還有很多細分模式可選,具體配置 ADC_CR1:DUALMOD 位。

  • ADC_Settings:

    • Disabled 禁止間斷模式。這個在需要考慮功耗問題的產(chǎn)品中很有必要,也就是在某個事件觸發(fā)下,開啟轉(zhuǎn)換。

    • Enabled 開啟間斷模式。

    • Disabled 單次轉(zhuǎn)換。轉(zhuǎn)換一次后停止需要手動控制才重新啟動轉(zhuǎn)換。

    • Enabled 自動連續(xù)轉(zhuǎn)換。

    • Disabled 禁止掃描模式。如果是單通道 AD 轉(zhuǎn)換使用 DISABLE。

    • Enabled 開啟掃描模式。如果是多通道 AD 轉(zhuǎn)換使用 ENABLE。

    • Right alignment 轉(zhuǎn)換結(jié)果數(shù)據(jù)右對齊,一般我們選擇右對齊模式。

    • Left alignment 轉(zhuǎn)換結(jié)果數(shù)據(jù)左對齊。

    • Data Alignment:

    • Scan Conversion Mode:

    • Continuous Conversion Mode:

    • DiscontinuousConvMode:

  • ADC_Regular_ConversionMode:

    • Enable Regular Conversions 是否使能規(guī)則轉(zhuǎn)換。

    • Number Of Conversion ADC轉(zhuǎn)換通道數(shù)目,有幾個寫幾個就行。

    • External Trigger Conversion Source 外部觸發(fā)選擇。這個有多個選擇,一般采用軟件觸發(fā)方式。

  • Rank:

    • Channel ADC轉(zhuǎn)換通道

    • Sampling Time 采樣周期選擇,采樣周期越短,ADC 轉(zhuǎn)換數(shù)據(jù)輸出周期就越短但數(shù)據(jù)精度也越低,采樣周期越長,ADC 轉(zhuǎn)換數(shù)據(jù)輸出周期就越長同時數(shù)據(jù)精度越高。

  • ADC_Injected_ConversionMode:

    • Enable Injected Conversions 是否使能注入轉(zhuǎn)換。注入通道只有在規(guī)則通道存在時才會出現(xiàn)。

  • WatchDog:

    • Enable Analog WatchDog Mode 是否使能模擬看門狗中斷。當(dāng)被 ADC 轉(zhuǎn)換的模擬電壓低于低閾值或者高于高閾值時,就會產(chǎn)生中斷。

DMA開啟。?

在這里插入圖片描述

生成獨立的文件。?

在這里插入圖片描述

STM32CUBEIDE配置

在這里插入圖片描述

?若需要打印浮點型,需要勾選下面的選項。?

在這里插入圖片描述

串口重定向

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


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


最后

以上的代碼會在Q_qun里分享。Q_qun:615061293。 或者關(guān)注『記帖』,持續(xù)更新文章和學(xué)習(xí)資料!


代碼

定義變量,存放采集到的數(shù)據(jù)。


使能ADC傳輸。


主循環(huán)。


ADC回調(diào)函數(shù)。 DMA傳輸?shù)臅r候如果讀取內(nèi)存片段,會有仲裁器的問題,加了一句關(guān)閉DMA的語句HAL_ADC_Stop_DMA(&hadc1);


測試結(jié)果

輸入固定電壓進行測試。?


Normal下測試結(jié)果如下。?

在這里插入圖片描述

若不試用關(guān)閉DMA的語句HAL_ADC_Stop_DMA(&hadc1); 會造成數(shù)據(jù)錯亂。?

在這里插入圖片描述

Circular可以下可以一直進行采集,不需要HAL_ADC_Stop_DMA(&hadc1)都可。?

在這里插入圖片描述



STM32CUBEIDE(10)----ADC在DMA模式下掃描多個通道的評論 (共 條)

分享到微博請遵守國家法律
加查县| 平凉市| 永福县| 宕昌县| 湘潭县| 卓资县| 扎赉特旗| 苏尼特右旗| 永定县| 汉源县| 泸定县| 舟曲县| 从江县| 会理县| 资阳市| 甘洛县| 文水县| 高雄县| 湄潭县| 化州市| 河池市| 湘潭县| 南安市| 诏安县| 谢通门县| 云梦县| 汾西县| 石渠县| 福州市| 读书| 彭州市| 湖州市| 大兴区| 津市市| 莫力| 南召县| 临潭县| 紫云| 连江县| 江孜县| 凤翔县|