我們?cè)?a target="_blank">單片機(jī)開(kāi)發(fā)中,經(jīng)常會(huì)用到串口,這時(shí)候我可以通過(guò)使用DMA,減少CPU的占用。使用串口的空閑中斷可以完成不定長(zhǎng)數(shù)據(jù)的接受。所以本次我們從基礎(chǔ)的外設(shè)移植開(kāi)始完成此款板子的體驗(yàn)。
首先看下板子吧。
板子整體還是GD一貫風(fēng)格,還是白色板子,這次由于芯片的管腳較小,目前所以引出方式變了。把可以用的IO都引出了。
本次我們使用串口0進(jìn)行測(cè)試,此測(cè)試完成后我們也可以非常方便的移植到串口1上。
我在其基礎(chǔ)上移植了新的開(kāi)發(fā)模板,主要導(dǎo)入我們的外設(shè)庫(kù)和CMSIS庫(kù)即可。例程上我使用了一個(gè)閃爍LED燈的例子。
主循環(huán)中我們就兩個(gè)任務(wù),一個(gè)是點(diǎn)燈,一個(gè)是完成串口接收和發(fā)送。
在串口初始話的時(shí)候需要主要下,我們使能了串口的中斷后,還需要打開(kāi)其串口的空閑中斷,不然進(jìn)不了接受中斷函數(shù)中。
中斷函數(shù)中我們只需要完成中斷服務(wù)函數(shù)的編寫(xiě),進(jìn)入串口接收空閑中斷后,就讓其使用DMA的方式接收處理數(shù)據(jù)。
串口發(fā)送結(jié)束后也會(huì)調(diào)用函數(shù)關(guān)閉其發(fā)送。
效果就是只要我們數(shù)據(jù)在100字節(jié)以內(nèi)都可以完成數(shù)據(jù)接受和發(fā)送。且長(zhǎng)度可變。
審核編輯:劉清
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631988 -
led燈
+關(guān)注
關(guān)注
22文章
1592瀏覽量
107749 -
中斷
+關(guān)注
關(guān)注
5文章
895瀏覽量
41349 -
串口
+關(guān)注
關(guān)注
14文章
1540瀏覽量
76062
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論