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

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

STM32CUBEMX(2)--USART通過DMA方式接收不定長(zhǎng)數(shù)據(jù)

2021-05-26 12:55 作者:記帖  | 我要投稿


概述

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

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

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

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

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

????本篇文章主要介紹如何使用STM32CubeMX實(shí)現(xiàn)串口DMA讀取,并且打印出去。

硬件準(zhǔn)備

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

選擇芯片型號(hào)

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

配置時(shí)鐘源

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

配置時(shí)鐘樹

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

串口配置

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

????配置DMA

????中斷

生成工程設(shè)置

代碼生成設(shè)置

最后設(shè)置生成獨(dú)立的初始化文件:

生成代碼

配置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ù)聲明和串口重定向:

????開啟串口IDLE中斷:

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

????串口DMA獲?。?/p>

????#include "stm32f0xx_it.c"文件中斷外部變量引用:

????串口1中斷函數(shù):

演示效果

教學(xué)視頻




STM32CUBEMX(2)--USART通過DMA方式接收不定長(zhǎng)數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
天柱县| 阳信县| 安达市| 冕宁县| 凤翔县| 吉隆县| 溆浦县| 新野县| 友谊县| 陵水| 鄄城县| 桃园市| 太保市| 灵璧县| 封丘县| 龙南县| 绥滨县| 菏泽市| 辽源市| 穆棱市| SHOW| 昂仁县| 盐城市| 金湖县| 东平县| 綦江县| 靖边县| 抚顺市| 日照市| 平远县| 四川省| 合山市| 什邡市| 巨野县| 金塔县| 双柏县| 滨海县| 名山县| 澄迈县| 虞城县| 蕉岭县|