第二章 STM32MxCube配置串列埠

2021-08-20 08:36:05 字數 1803 閱讀 9113

配置usart(串列埠)

usart的配置有好幾種,也是最常見的一種」uart非同步序列通訊」配置來講述。

選擇usart2模式為「asynchronous」(非同步通訊)對應的引腳自動轉換為usart。

對於系統時鐘應該都知道它的作用,就是驅動整個晶元工作的心臟,如果沒有了它,就等於人沒有了心跳。時鐘的快慢也就決定了程式的快慢。

stm32的時鐘樹功能比較強大,分頻、倍頻可以根據你的需求配置出多種時鐘。stm32cubemx這個工具在這一塊也是做的比較人性化的,可以直觀的看見具體配置,而且有錯誤提示(注意:不同型號晶元的時鐘樹可能不同,但大同小異),我們配置為hse,如下圖:

這裡的配置相當於初始化一些配置,集齊了前面的引腳對應的初始化配置,所以叫「綜合配置」。

由於我們主要配置了io 和 usart,所以在這個選項裡面,重點關心的就是這兩項。

新增以上**就能實現:間隔(約0.5s)led亮滅變化一次,且串列埠列印資料。

上面是將列印資料裝入陣列,下面是延時列印資料,同時點亮led。

在mdk-arm工程中,可以看到四個目錄,分別是:

hal庫:這個庫類似於標準外設庫(在drivers目錄下)

啟動檔案startup_stm32f103xe.s:這個檔案也和標準外設庫裡面檔案startup_stm32f10x_hd.s類似。

user使用者應用:這個目錄下是使用者新增源**檔案的目錄,如果要新增新檔案可以在這裡新增。

cmsis微控制器軟體介面標準:這個目錄也是屬於底層的**(和我之前使用標準外設庫建立的軟體工程類似,也是位於drivers目錄下)。

當我們使用stm32cubemx新建軟體工程後,開啟軟體可以看見裡面有很多**就是通過stm32cubemx工具自動生成的(是stm32cubemx的特性),下面大概講述一下本文生成的**。

.四個主初始化**:

這個屬於軟體工程的標配,主要對初始化(預設)flash和nvic等。

當你使用以前標準外設庫開發過stm32,知道時鐘初始化**,那麼這個函式應該很熟悉。其實這裡的配置就是上面說的rcc配置(時鐘樹),引數就是時鐘樹對應的值。看時鐘樹就很容易理解。

位於main.c檔案。

這個函式是我們配置的io函式(對pf11引腳初始化,很簡單),位於main.c檔案。

和以前使用標準外設庫開發類似,其中的引數就是上面「綜合配置」 裡設定的。

這個函式是我們配置的usart,位於main.c檔案。

和以前使用標準外設庫開發類似,其中的引數就是上面「綜合配置」 裡設定的,波特率、資料位數、停止位等。

MySQL第二章總結 Mysql第二章 儲存引擎

1 本章目標 儲存引擎 資料型別 重點 2 儲存引擎 在關係型資料庫中,資料儲存在表中,表由行和列組成。開發中,可能需要各種不同的表,有的表簡單,有的表複雜,有的表讀取快,有的讀取資料慢,有的表更新快等。根據對資料的不同的處理需求,使用不同的儲存引擎,可以將mysql資料庫的效能發揮到最大。查詢my...

領悟(第二章)

當火車緩緩駛進車站的時候,夜幕已經降臨了。終於到了!望著窗外鐵道兩旁的燈火,我的內心不禁再一次的激動起來,一路上對今後在這個大都市的未來生活的想象已經讓我從昨天晚上上車一直興奮到現在了!平常這個時候應該正和朋友們一起在酒吧聊天吧,朋友們,你們現在還在談論我來這裡的目的麼?說實話,這個問題連我自己都說...

第二章 入門

第二章 入門 1 django 安裝 使用 django 的唯一先決條件是安裝 python 在 linux 平台可能包括如下步驟 2 tar xzvf django tar.gz。3 cd django 4 sudo python setup.py install。2 匯入 django模組 im...