前言
串口對于處理器來說算是一種標配,也是在軟件開發中必不可少的,那就是使用串口來調試信息(打印出相應的信息)。STM32F0系列的芯片,串口根據型號不同,數量也不同,從1個到8個不等。
今天主要總結串口簡單且常用的功能,發送字符和中斷接收字符。今天提供的串口發送功能將在后面的各個模塊總結中都需要使用到,主要用于驗證和測試各項功能的正確性。
下載
ST標準外設庫和參考手冊、數據手冊等都可以在ST官網下載,你也可以到我的360云盤下載。關于F0系列芯片的參考手冊有多個版本(針對F0不同芯片),但有一個通用版本,就是“STM32F0x128參考手冊V8(英文)2015-07”建議參考該手冊,以后如果你換用一種型號芯片也方便了解。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cS5TeTVUWdc7V訪問密碼 9b8c
STM32F0xx的資料可以在我360云盤下載:
https://yunpan.cn/cS2PVuHn6X2Bj訪問密碼 8c37
準備工作
①新建源程序文件
一個工程項目在增加模塊功能的時候,一般都需要新增加模塊源程序的文件。今天提供的工程由于增加USART模塊,因此針對昨天(上一篇文章)的軟件工程需要增加模塊USART的文件(usart.c 和 usart.h)。
新建了源程序文件,還要添加到工程中進行編譯才行。還有需要添加我們使用到的標準外設庫文件到工程,我已經將文件新建,并添加到軟件工程中,如下圖:
注意:
文件所在位置最好對應目錄,方便管理。比如:usart.c放在bsp文件下,添加在工程中Bsp組下面。
源代碼詳情
①RCC時鐘
該函數位于bsp.c文件下面;
我個人習慣第一步配置時鐘,ST官方提供的例程也是把配置時鐘放在前面。關于RCC時鐘的配置比較重要,有好幾次我就是由于沒有配置相應RCC時鐘,讓我找了很久的問題。
②USART引腳配置
該函數位于usart.c文件下面;
這里的配置就是對串口收發引腳進行配置(具體參數說明請看上一篇文章)。
注意:
上面紅色框里面的配置是重點,必須對應配置才行。這里第三個參數“GPIO_AF_1”需要和你使用的外設對應。
③USART配置
該函數位于usart.c文件下面;
這里是串口相關參數進行配置,詳情請看中文注釋。具體每一個參數的意思,可以參看昨天方式,go to definition...
注意:
上面紅色框處,如果要使用中斷(我們工程是接收),必須對應配置才行。
④NVIC配置
該函數位于bsp.c文件下面;
要使用中斷,必須配置NVIC,這點也不能忘記。
⑤串口中斷接收函數
該函數位于stm32f0xx_it.c文件下面;
中斷接收到一個字符,就發送出去(可以通過電腦串口發送字符,STM32F0接收到該字符又發送給電腦)。
說明
STM32F0的芯片軟件兼容性很好,可以適用于F0其他很多型號的芯片(具體請看手冊、或者親自測試)。
以上實例總結僅供參考,若有不對之處,敬請諒解。
-
處理器
+關注
關注
68文章
19813瀏覽量
233615 -
USART
+關注
關注
1文章
200瀏覽量
31637 -
STM32F0
+關注
關注
0文章
61瀏覽量
17389 -
STM32F0XX
+關注
關注
0文章
11瀏覽量
2820
發布評論請先 登錄
0STM32中的SysTick是個啥?咋用?(可下載)
STM32F103×8/STM32F103×B MCU手冊
STM32F107的USART2為什么進不了中斷?
stm32g0b1中的usart5進不去HAL_UARTEx_RxEventCallback,為什么?
CKS32F107xx系列USART的特性和功能
STM32F405xx和STM32F407xx微控制器數據手冊
記錄我的stm32開發學習過程
【GD32 MCU 移植教程】10、從STM32F030系列移植到GD32E230系列

【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系

評論