前言
串口對于處理器來說算是一種標(biāo)配,也是在軟件開發(fā)中必不可少的,那就是使用串口來調(diào)試信息(打印出相應(yīng)的信息)。STM32F0系列的芯片,串口根據(jù)型號不同,數(shù)量也不同,從1個到8個不等。
今天主要總結(jié)串口簡單且常用的功能,發(fā)送字符和中斷接收字符。今天提供的串口發(fā)送功能將在后面的各個模塊總結(jié)中都需要使用到,主要用于驗(yàn)證和測試各項(xiàng)功能的正確性。
ST標(biāo)準(zhǔn)外設(shè)庫和參考手冊、數(shù)據(jù)手冊等都可以在ST官網(wǎng)下載,你也可以到我的360云盤下載。關(guān)于F0系列芯片的參考手冊有多個版本(針對F0不同芯片),但有一個通用版本,就是“STM32F0x128參考手冊V8(英文)2015-07”建議參考該手冊,以后如果你換用一種型號芯片也方便了解。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cS5TeTVUWdc7V訪問密碼 9b8c
STM32F0xx的資料可以在我360云盤下載:
https://yunpan.cn/cS2PVuHn6X2Bj訪問密碼 8c37
準(zhǔn)備工作
①新建源程序文件
一個工程項(xiàng)目在增加模塊功能的時候,一般都需要新增加模塊源程序的文件。今天提供的工程由于增加USART模塊,因此針對昨天(上一篇文章)的軟件工程需要增加模塊USART的文件(usart.c 和 usart.h)。
新建了源程序文件,還要添加到工程中進(jìn)行編譯才行。還有需要添加我們使用到的標(biāo)準(zhǔn)外設(shè)庫文件到工程,我已經(jīng)將文件新建,并添加到軟件工程中,如下圖:
注意:
文件所在位置最好對應(yīng)目錄,方便管理。比如:usart.c放在bsp文件下,添加在工程中Bsp組下面。
源代碼詳情
①RCC時鐘
該函數(shù)位于bsp.c文件下面;
我個人習(xí)慣第一步配置時鐘,ST官方提供的例程也是把配置時鐘放在前面。關(guān)于RCC時鐘的配置比較重要,有好幾次我就是由于沒有配置相應(yīng)RCC時鐘,讓我找了很久的問題。
②USART引腳配置
該函數(shù)位于usart.c文件下面;
這里的配置就是對串口收發(fā)引腳進(jìn)行配置(具體參數(shù)說明請看上一篇文章)。
注意:
上面紅色框里面的配置是重點(diǎn),必須對應(yīng)配置才行。這里第三個參數(shù)“GPIO_AF_1”需要和你使用的外設(shè)對應(yīng)。
③USART配置
該函數(shù)位于usart.c文件下面;
這里是串口相關(guān)參數(shù)進(jìn)行配置,詳情請看中文注釋。具體每一個參數(shù)的意思,可以參看昨天方式,go to definition...
注意:
上面紅色框處,如果要使用中斷(我們工程是接收),必須對應(yīng)配置才行。
④NVIC配置
該函數(shù)位于bsp.c文件下面;
要使用中斷,必須配置NVIC,這點(diǎn)也不能忘記。
⑤串口中斷接收函數(shù)
該函數(shù)位于stm32f0xx_it.c文件下面;
中斷接收到一個字符,就發(fā)送出去(可以通過電腦串口發(fā)送字符,STM32F0接收到該字符又發(fā)送給電腦)。
說明
STM32F0的芯片軟件兼容性很好,可以適用于F0其他很多型號的芯片(具體請看手冊、或者親自測試)。
以上實(shí)例總結(jié)僅供參考,若有不對之處,敬請諒解。
-
處理器
+關(guān)注
關(guān)注
68文章
19420瀏覽量
231224 -
USART
+關(guān)注
關(guān)注
1文章
195瀏覽量
30983 -
STM32F0
+關(guān)注
關(guān)注
0文章
61瀏覽量
17136 -
STM32F0XX
+關(guān)注
關(guān)注
0文章
11瀏覽量
2755
發(fā)布評論請先 登錄
相關(guān)推薦
STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊
記錄我的stm32開發(fā)學(xué)習(xí)過程
【GD32 MCU 移植教程】10、從STM32F030系列移植到GD32E230系列
![【GD32 MCU 移植教程】10、從<b class='flag-5'>STM32F</b>030系列移植到GD32E230系列](https://file1.elecfans.com/web2/M00/06/88/wKgaombbuVSAcAARAABE_onyvsw162.png)
【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系
![【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F4xx</b> 系列移植到 GD32<b class='flag-5'>F4xx</b> 系](https://file1.elecfans.com/web2/M00/06/61/wKgaombaXZ6AB4PtAABI6uZ03C4508.png)
評論