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

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

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

2021-05-27 10:40 作者:記帖  | 我要投稿

概述

????直接存儲器訪問(DMA)用于在外設(shè)與存儲器之間以及存儲器與存儲器之間提供高速數(shù)據(jù)傳輸。可以在無需任何CPU操作的情況下通過DMA快速傳輸傳輸。這樣節(jié)省的CPU資源可供其它操作使用。

????DMA允許在后臺執(zhí)行數(shù)據(jù)傳輸,無需Cortex-MO處理器干預(yù)。在此操作過程中,主處理器可以執(zhí)行其它任務(wù),僅當(dāng)整個數(shù)據(jù)塊需要處理時,才會中斷主處理器。這樣即使傳輸大量數(shù)據(jù)也不會對系統(tǒng)性能造成太大影響。

????DMA主要用于為不同的外設(shè)模塊實現(xiàn)集中數(shù)據(jù)緩沖存儲(通常在系統(tǒng)SRAM中)。與分布式解決方案(其中每個外設(shè)都需要實現(xiàn)自己的本地數(shù)據(jù)存儲)相比,DMA解決方案在硅片成本和功耗方面的成本較低。

????根據(jù)使用的產(chǎn)品型號的不同,有一個或兩個DMA模塊。

????STM32F0XX DMA控制器總共有5個通道用于DMA1,每個通道都專門管理來自一個或多個外設(shè)的存儲器訪問請求。它具有一個仲裁器,用于處理不同的DMA請求的優(yōu)先級。

????本篇文章主要介紹如何使用STM32CubeMX實現(xiàn)ADC在DMA下快速采集,并且打印出去。

硬件準(zhǔn)備

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

選擇芯片型號

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

配置時鐘源

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

配置時鐘樹

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

串口配置

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

ADC配置

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

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

????開啟DMA。

????打開中斷。

生成工程設(shè)置

????最后設(shè)置生成獨立的初始化文件。

生成代碼

配置keil

代碼

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

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

????變量定義。

????使用DMA傳輸。

????主循環(huán)。

演示效果

????設(shè)定adc1口接3.3V,adc2口接GND,adc口接1.5V,輸出如下。

教學(xué)視頻



STM32CUBEMX(3)--ADC通過DMA方式采樣,USART打印的評論 (共 條)

分享到微博請遵守國家法律
桃江县| 瓦房店市| 西充县| 鹤壁市| 佛教| 勃利县| 江西省| 新兴县| 泾源县| 柞水县| 泊头市| 青田县| 新丰县| 马尔康县| 泽库县| 通城县| 忻城县| 犍为县| 遵义县| 白水县| 达尔| 上林县| 类乌齐县| 渭南市| 喀喇| 永城市| 三门峡市| 鄂州市| 台州市| 河北省| 姚安县| 海口市| 亳州市| 大石桥市| 霸州市| 刚察县| 金湖县| 轮台县| 东台市| 礼泉县| 郸城县|