基於STM32的USART串列埠通訊

2021-10-11 00:26:43 字數 1703 閱讀 1450

基於暫存器: 顧名思義就是要配置各種各樣的暫存器來實現想要的功能,但是在獲得了可移植性與更易於了解核心工作流程的同時,增加了很多麻煩,比如程式可讀性差和維護複雜。

基於韌體庫: 可以根據已有的庫函式來實現想要的功能。優點就是開發簡單,**易於理解,適合學習。但同樣也是它的缺點,對底層的了解相對沒那麼深,靈活性可移植性相對較差。

開發板:正點原子stm32f1精英版

顯示這樣就算安裝串列埠驅動完成。

之後我們需要串列埠除錯助手也在上述1,軟體資料夾中,如下圖

stlink用來給開發板燒錄程式,也需要安裝驅動

和上述資料夾路徑相同,選擇下**件夾,開啟安裝即可

我們根據正點原子的例程改寫

按圖示開啟資料夾

進去之後選擇實驗4串列埠通訊資料夾拷貝到自己喜歡的資料夾

之後進去user資料夾選擇kile工程檔案開啟。

更改主函式如下:

#include

"led.h"

#include

"delay.h"

#include

"key.h"

#include

"sys.h"

#include

"usart.h"

intmain

(void)if

(p==10)

}}usart_rx_sta=0;

}else

}}

編好程式之後我們需要把程式燒錄到板子上,讓板子工作。

按照下圖操作

因為我們用stlink燒錄所以就選擇stlink debugger,如果使用jlink就選擇相對應的就行。

之後依次選擇確定就行。

接下來進行編譯鏈結燒錄

總結:通過本次小實驗,知道了如何使用stm32串列埠進行通訊,將想表達的資訊傳送給我們的上位機。我們使用的直接時庫函式的例程所以簡單很多,後續需要多學習相關暫存器的配置才能真正理解串列埠通訊。

STM32的USART串列埠通訊

三 總結 韌體庫就是函式的集合,韌體庫函式的作用就是 向下負責與暫存器直接打交道,向上提供使用者函式呼叫的介面。基於固態庫方式開發,也就是直接呼叫庫函式,特點就是外設交流方便 查錯簡單 對主控制器stm32上手簡單。stm32的mcu,暫存器數量較多,韌體庫將這些暫存器底層操作都封裝起來,提供一套a...

STM32學習之USART串列埠

通用同步非同步收發器 usart 支援lin 區域性互連網 智慧卡協議和irda 紅外資料組織 sir endec規範,以及數據機 cts rts 操作 允許多處理器通訊 使用多緩衝器配置的dma方式,可以實現高速資料通訊。stm32f107有5個usart。usart暫存器 狀態暫存器 usart...

stm32應用 USART 串列埠通訊

1 序列通訊 指裝置之間通過少 量資料訊號線 一般是 8根以下 地線以及控制訊號線,按資料位形式一位一位地傳輸資料的通訊方式。就像是單車道的公路,同一時刻只能傳輸乙個資料為的資料。2 並行通訊 指使用 8 16 32 及 64 根或更多的資料線進行傳輸的通訊方式,就像多個車道的公路,可以同時傳輸多個...