我們在單片機開發(fā)中,經(jīng)常會用到串口,這時候我可以通過使用DMA,減少CPU的占用。使用串口的空閑中斷可以完成不定長數(shù)據(jù)的接受。所以本次我們從基礎(chǔ)的外設(shè)移植開始完成此款板子的體驗。
首先看下板子吧。
板子整體還是GD一貫風(fēng)格,還是白色板子,這次由于芯片的管腳較小,目前所以引出方式變了。把可以用的IO都引出了。
本次我們使用串口0進(jìn)行測試,此測試完成后我們也可以非常方便的移植到串口1上。

我在其基礎(chǔ)上移植了新的開發(fā)模板,主要導(dǎo)入我們的外設(shè)庫和CMSIS庫即可。例程上我使用了一個閃爍LED燈的例子。

主循環(huán)中我們就兩個任務(wù),一個是點燈,一個是完成串口接收和發(fā)送。

在串口初始話的時候需要主要下,我們使能了串口的中斷后,還需要打開其串口的空閑中斷,不然進(jìn)不了接受中斷函數(shù)中。

中斷函數(shù)中我們只需要完成中斷服務(wù)函數(shù)的編寫,進(jìn)入串口接收空閑中斷后,就讓其使用DMA的方式接收處理數(shù)據(jù)。
串口發(fā)送結(jié)束后也會調(diào)用函數(shù)關(guān)閉其發(fā)送。

效果就是只要我們數(shù)據(jù)在100字節(jié)以內(nèi)都可以完成數(shù)據(jù)接受和發(fā)送。且長度可變。
審核編輯:劉清
-
單片機
+關(guān)注
關(guān)注
6072文章
45283瀏覽量
661793 -
led燈
+關(guān)注
關(guān)注
22文章
1603瀏覽量
110911 -
中斷
+關(guān)注
關(guān)注
5文章
911瀏覽量
43477 -
串口
+關(guān)注
關(guān)注
15文章
1603瀏覽量
81680
發(fā)布評論請先 登錄
不定長數(shù)據(jù)接收的原理IDLE空閑中斷介紹
基于DMA接收利用空閑模式接收不定長數(shù)據(jù)
STM32 HAL庫中串口空閑中斷+DMA 實現(xiàn)串口數(shù)據(jù)的不定長接收
STM32CubeMX HAL庫串口+DMA+IDLE空閑中斷不定長度數(shù)據(jù)接收和發(fā)送
STM32+串口空閑中斷實現(xiàn)不定長數(shù)據(jù)接收
stm32 串口接收不定長度數(shù)據(jù)及黏包處理 + 串口DMA接收
STM32+串口空閑中斷實現(xiàn)不定長數(shù)據(jù)接收
STM32之串口DMA接收不定長數(shù)據(jù)
STM32單片機串口空閑中斷+DMA接收不定長數(shù)據(jù)
單片機接收不定長的數(shù)據(jù),最優(yōu)解是DMA+串口空閑中斷
使用UART IDLE中斷接收不定長數(shù)據(jù)

基于GD32F310使用串口的空閑中斷完成不定長數(shù)據(jù)的接收
評論