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

歡迎光臨散文網(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ó)家法律
镇巴县| 新丰县| 西和县| 祁门县| 余江县| 宁明县| 泸州市| 霍山县| 玉龙| 宁陵县| 寻乌县| 南安市| 汉沽区| 纳雍县| 夏津县| 松江区| 塘沽区| 宣化县| 宝坻区| 方城县| 花莲市| 新乐市| 晋江市| 洛隆县| 伊春市| 合阳县| 青州市| 遵化市| 抚松县| 卢龙县| 达拉特旗| 长宁县| 柏乡县| 治县。| 中阳县| 郸城县| 元谋县| 丹阳市| 奈曼旗| 民丰县| 沁源县|