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

歡迎光臨散文網(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ó)家法律
大荔县| 望江县| 崇左市| 博兴县| 舞钢市| 铜川市| 新密市| 泰州市| 涿鹿县| 东至县| 林西县| 清涧县| 新兴县| 福鼎市| 平顺县| 六盘水市| 刚察县| 志丹县| 松滋市| 潢川县| 闽清县| 黔东| 醴陵市| 太谷县| 来宾市| 景洪市| 五河县| 泾源县| 揭阳市| 三河市| 义马市| 鄯善县| 安远县| 弥渡县| 林甸县| 会同县| 裕民县| 兴化市| 白山市| 鄢陵县| 綦江县|