我們在單片機開發中,經常會用到串口,這時候我可以通過使用DMA,減少CPU的占用。使用串口的空閑中斷可以完成不定長數據的接受。所以本次我們從基礎的外設移植開始完成此款板子的體驗。
首先看下板子吧。
板子整體還是GD一貫風格,還是白色板子,這次由于芯片的管腳較小,目前所以引出方式變了。把可以用的IO都引出了。
本次我們使用串口0進行測試,此測試完成后我們也可以非常方便的移植到串口1上。
我在其基礎上移植了新的開發模板,主要導入我們的外設庫和CMSIS庫即可。例程上我使用了一個閃爍LED燈的例子。
主循環中我們就兩個任務,一個是點燈,一個是完成串口接收和發送。
在串口初始話的時候需要主要下,我們使能了串口的中斷后,還需要打開其串口的空閑中斷,不然進不了接受中斷函數中。
中斷函數中我們只需要完成中斷服務函數的編寫,進入串口接收空閑中斷后,就讓其使用DMA的方式接收處理數據。
串口發送結束后也會調用函數關閉其發送。
效果就是只要我們數據在100字節以內都可以完成數據接受和發送。且長度可變。
審核編輯:劉清
-
單片機
+關注
關注
6032文章
44521瀏覽量
633129 -
led燈
+關注
關注
22文章
1592瀏覽量
107844 -
中斷
+關注
關注
5文章
895瀏覽量
41398 -
串口
+關注
關注
14文章
1543瀏覽量
76210
發布評論請先 登錄
相關推薦
評論