无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

STM32CUBEIDE(8)----USART通過(guò)DMA收發(fā)

2022-12-09 16:52 作者:記帖  | 我要投稿


概述

本章STM32CUBEMX配置STM32F103,測(cè)試串口發(fā)送接收函數(shù)。 最近在弄ST和GD的課程,需要樣片的可以加群申請(qǐng):615061293。

視頻教學(xué)

https://www.bilibili.com/video/BV1yS4y1H7yJ


csdn課程

課程更加詳細(xì)。?https://download.csdn.net/course/detail/35611

生成例程

使用STM32CUBEMX生成例程,這里使用NUCLEO-F103RB開(kāi)發(fā)板?

在這里插入圖片描述

?查看原理圖,PA2和PA3設(shè)置為開(kāi)發(fā)板的串口。?

在這里插入圖片描述

?配置串口。

在這里插入圖片描述

?開(kāi)啟中斷。?

在這里插入圖片描述

?開(kāi)啟DMA讀取和接收。 其中Word = 32bit,Half word = 16bit,Byte = 8bit?

在這里插入圖片描述

STM32CUBEIDE配置

在這里插入圖片描述

?若需要打印浮點(diǎn)型,需要勾選下面的選項(xiàng)。?

在這里插入圖片描述

串口重定向

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


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


串口發(fā)送接收函數(shù)

一般情況下,串口發(fā)送接收函數(shù)有如下所示。?

● HAL_UART_Transmit();串口輪詢(xún)模式發(fā)送,使用超時(shí)管理機(jī)制。?

● HAL_UART_Receive();串口輪詢(xún)模式接收,使用超時(shí)管理機(jī)制。?

● HAL_UART_Transmit_IT();串口中斷模式發(fā)送

● HAL_UART_Receive_IT();串口中斷模式接收?

● HAL_UART_Transmit_DMA();串口DMA模式發(fā)送?

● HAL_UART_Receive_DMA();串口DMA模式接收

HAL_UART_Transmit_DMA()發(fā)送

測(cè)試代碼如下。 定義需要發(fā)送的數(shù)據(jù)。


HAL_UART_Transmit_DMA()發(fā)送代碼。


DMA有normal和circular兩種模式。 Normal表單次傳輸,傳輸一次后終止傳輸,所以需要傳輸幾次就需要開(kāi)啟幾次,Circular表示循環(huán)傳輸,傳輸完成后又重新開(kāi)始繼續(xù)傳輸,開(kāi)啟一次后會(huì)一直傳輸。 normal傳輸打印如下所示,傳輸完成就關(guān)閉。?

在這里插入圖片描述

?circular傳輸打印如下所示,一直傳輸,不會(huì)停止。?

在這里插入圖片描述

HAL_UART_Receive_DMA()發(fā)送

測(cè)試代碼如下。 定義需要接受存放數(shù)組。

開(kāi)啟HAL_UART_Receive_DMA()接受代碼。


重寫(xiě)讀取回調(diào)函數(shù),將接受的數(shù)據(jù)發(fā)送出去在開(kāi)啟接收。


DMA有normal和circular兩種模式。 Normal表單次接收,接收一次后終止接收,所以需要接收幾次就需要開(kāi)啟幾次,Circular表示循環(huán)接收,接收完成后又重新頭開(kāi)始繼續(xù)接收,開(kāi)啟一次后會(huì)一直接收。 normal傳輸打印如下所示,傳輸完成就關(guān)閉。 演示效果如下所示。

在這里插入圖片描述

circular接收打印如下所示,當(dāng)發(fā)送數(shù)據(jù)大于接收長(zhǎng)度時(shí)候,會(huì)進(jìn)行循環(huán)接收。

在這里插入圖片描述

以上的代碼會(huì)在Q群里分享。QQ群:615061293。 或者關(guān)注微信公眾號(hào)『記帖』,持續(xù)更新文章和學(xué)習(xí)資料,可加作者的微信交流學(xué)習(xí)!?

在這里插入圖片描述


STM32CUBEIDE(8)----USART通過(guò)DMA收發(fā)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
合江县| 青阳县| 加查县| 德昌县| 永善县| 上思县| 乌鲁木齐市| 武城县| 开封县| 黄石市| 大余县| 盖州市| 怀来县| 康乐县| 澄迈县| 威海市| 吉林省| 微博| 贵德县| 彭山县| 常宁市| 无为县| 凌源市| 志丹县| 平原县| 贵港市| 宁波市| 西盟| 枝江市| 定日县| 石首市| 浦北县| 彝良县| 开化县| 乌拉特中旗| 涟水县| 邢台市| 夏河县| 当阳市| 东平县| 清水县|