国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
顺平县| 合肥市| 康马县| 佛坪县| 鄂托克前旗| 休宁县| 乳山市| 渑池县| 汝州市| 新余市| 济宁市| 星子县| 如皋市| 灯塔市| 沿河| 潞西市| 玉树县| 攀枝花市| 金川县| 鲁山县| 旬邑县| 甘泉县| 中阳县| 亚东县| 长葛市| 闻喜县| 洪洞县| 阆中市| 拜泉县| 同心县| 平原县| 西华县| 兴海县| 霞浦县| 旬邑县| 永平县| 崇信县| 九江市| 政和县| 德阳市| 芮城县|