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

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

STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,雙串口通過(guò)DMA方式接收不定長(zhǎng)數(shù)據(jù)

2021-06-01 10:49 作者:記帖  | 我要投稿

概述

????本篇文章主要介紹如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通過(guò)雙串口輸出打印。

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

? ?DMA允許在后臺(tái)執(zhí)行數(shù)據(jù)傳輸,無(wú)需Cortex-M3處理器干預(yù)。在此操作過(guò)程中,主處理器可以執(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模塊。

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

硬件準(zhǔn)備

????首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是雅特力AT32F403AVGT7的開(kāi)發(fā)板:?

選擇芯片型號(hào)

????雅特力AT32F403AVGT7兼容STM32F103系列,故選取STM32f103VG進(jìn)行開(kāi)發(fā)。

配置時(shí)鐘源

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

配置時(shí)鐘樹(shù)

????雅特力AT32F403AVGT7最高頻率到240M,但是STM32F1的最高主頻到72M,同時(shí)使用不使用外部晶振時(shí)候,最高速度只能到64M,所以配置64即可:

串口配置

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

配置DMA

????在DMA 設(shè)置中,Mode有兩種模式,一種是普通模式(Normal),使用一次發(fā)送語(yǔ)句就發(fā)一次,另一種是循環(huán)模式(Circula),使用一次發(fā)送會(huì)一直發(fā)送。這里接收選擇循環(huán)模式。

中斷

????在中斷設(shè)置里打開(kāi)串口2,3的中斷。

生成工程設(shè)置

????注意在生產(chǎn)工程設(shè)置中不能出現(xiàn)中文,不然會(huì)報(bào)錯(cuò)。

代碼生成設(shè)置

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

生成代碼

代碼

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

????變量定義 ,在main.c中添加。

????函數(shù)聲明和串口重定向,這里使用串口3進(jìn)行打印,在main.c中添加。

????開(kāi)啟串口IDLE中斷,在main.c中添加。

????串口DMA獲取,在main.c中添加。

????主循環(huán),在main.c中添加。

????中斷外部變量引用,在stm32f0xx_it.c中添加。

????串口2,3中斷函數(shù),在stm32f0xx_it.c中添加。

結(jié)果演示

????開(kāi)機(jī)會(huì)顯示雙串口DMA接收例程。

????串口2發(fā)送數(shù)據(jù)會(huì)在串口3中打印,但是會(huì)顯示接收的是串口2。

????串口3發(fā)送數(shù)據(jù)會(huì)在串口3中打印,但是會(huì)顯示接收的是串口3。

視頻教學(xué)



STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,雙串口通過(guò)DMA方式接收不定長(zhǎng)數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
舒城县| 安泽县| 鲁甸县| 孟村| 开封市| 株洲市| 特克斯县| 竹溪县| 冀州市| 信丰县| 河北区| 彰武县| 星座| 洪湖市| 沂南县| 万安县| 秦安县| 平谷区| 子洲县| 阿拉善右旗| 五华县| 鱼台县| 苏尼特右旗| 天津市| 新宾| 蕉岭县| 政和县| 兴和县| 南康市| 永顺县| 石棉县| 乐业县| 文安县| 永定县| 南平市| 仁化县| 阜康市| 金山区| 和林格尔县| 平顶山市| 双江|