一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F0xx _USART收發(fā)配置詳細(xì)過(guò)程

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-04-08 09:28 ? 次閱讀

前言

串口對(duì)于處理器來(lái)說(shuō)算是一種標(biāo)配,也是在軟件開(kāi)發(fā)中必不可少的,那就是使用串口來(lái)調(diào)試信息(打印出相應(yīng)的信息)。STM32F0系列的芯片,串口根據(jù)型號(hào)不同,數(shù)量也不同,從1個(gè)到8個(gè)不等。

今天主要總結(jié)串口簡(jiǎn)單且常用的功能,發(fā)送字符和中斷接收字符。今天提供的串口發(fā)送功能將在后面的各個(gè)模塊總結(jié)中都需要使用到,主要用于驗(yàn)證和測(cè)試各項(xiàng)功能的正確性。

下載

ST標(biāo)準(zhǔn)外設(shè)庫(kù)和參考手冊(cè)、數(shù)據(jù)手冊(cè)等都可以在ST官網(wǎng)下載,你也可以到我的360云盤下載。關(guān)于F0系列芯片的參考手冊(cè)有多個(gè)版本(針對(duì)F0不同芯片),但有一個(gè)通用版本,就是“STM32F0x128參考手冊(cè)V8(英文)2015-07”建議參考該手冊(cè),以后如果你換用一種型號(hào)芯片也方便了解。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cS5TeTVUWdc7V訪問(wèn)密碼 9b8c

STM32F0xx的資料可以在我360云盤下載:

https://yunpan.cn/cS2PVuHn6X2Bj訪問(wèn)密碼 8c37

準(zhǔn)備工作

①新建源程序文件

一個(gè)工程項(xiàng)目在增加模塊功能的時(shí)候,一般都需要新增加模塊源程序的文件。今天提供的工程由于增加USART模塊,因此針對(duì)昨天(上一篇文章)的軟件工程需要增加模塊USART的文件(usart.c 和 usart.h)。

新建了源程序文件,還要添加到工程中進(jìn)行編譯才行。還有需要添加我們使用到的標(biāo)準(zhǔn)外設(shè)庫(kù)文件到工程,我已經(jīng)將文件新建,并添加到軟件工程中,如下圖:


注意:

文件所在位置最好對(duì)應(yīng)目錄,方便管理。比如:usart.c放在bsp文件下,添加在工程中Bsp組下面。

源代碼詳情

①RCC時(shí)鐘


該函數(shù)位于bsp.c文件下面;

我個(gè)人習(xí)慣第一步配置時(shí)鐘,ST官方提供的例程也是把配置時(shí)鐘放在前面。關(guān)于RCC時(shí)鐘的配置比較重要,有好幾次我就是由于沒(méi)有配置相應(yīng)RCC時(shí)鐘,讓我找了很久的問(wèn)題。

②USART引腳配置


該函數(shù)位于usart.c文件下面;

這里的配置就是對(duì)串口收發(fā)引腳進(jìn)行配置(具體參數(shù)說(shuō)明請(qǐng)看上一篇文章)。

注意:

上面紅色框里面的配置是重點(diǎn),必須對(duì)應(yīng)配置才行。這里第三個(gè)參數(shù)“GPIO_AF_1”需要和你使用的外設(shè)對(duì)應(yīng)。

③USART配置


該函數(shù)位于usart.c文件下面;

這里是串口相關(guān)參數(shù)進(jìn)行配置,詳情請(qǐng)看中文注釋。具體每一個(gè)參數(shù)的意思,可以參看昨天方式,go to definition...

注意:

上面紅色框處,如果要使用中斷(我們工程是接收),必須對(duì)應(yīng)配置才行。

④NVIC配置


該函數(shù)位于bsp.c文件下面;

要使用中斷,必須配置NVIC,這點(diǎn)也不能忘記。

⑤串口中斷接收函數(shù)


該函數(shù)位于stm32f0xx_it.c文件下面;

中斷接收到一個(gè)字符,就發(fā)送出去(可以通過(guò)電腦串口發(fā)送字符,STM32F0接收到該字符又發(fā)送給電腦)。

說(shuō)明

STM32F0的芯片軟件兼容性很好,可以適用于F0其他很多型號(hào)的芯片(具體請(qǐng)看手冊(cè)、或者親自測(cè)試)。

以上實(shí)例總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19740

    瀏覽量

    232871
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    198

    瀏覽量

    31501
  • STM32F0
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    17329
  • STM32F0XX
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    2798
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F103×8/STM32F103×B MCU手冊(cè)

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購(gòu)信息和機(jī)械器件特性。有關(guān)整個(gè)STMicroelectronics STM32F103xx系列的更多信息,請(qǐng)
    發(fā)表于 03-18 16:37 ?0次下載

    STM32F107的USART2為什么進(jìn)不了中斷?

    剛開(kāi)始學(xué)STM32,手里有一塊公司的板子,板子上的USB接到FT232R,再?gòu)腇T232R接到MCU的PD5(USART2TX)和PD6(USART2RX)。 我嘗試了公司的代碼,應(yīng)該是用標(biāo)準(zhǔn)庫(kù)寫
    發(fā)表于 03-14 16:57

    CKS32F107xx系列USART的LIN模式

    CKS32F107xx系列在支持正常USART功能的同時(shí),亦支持LIN(局域互聯(lián)網(wǎng))模式。
    的頭像 發(fā)表于 02-18 17:18 ?323次閱讀
    CKS32<b class='flag-5'>F107xx</b>系列<b class='flag-5'>USART</b>的LIN模式

    CKS32F107xx系列USART的特性和功能

    通用同步異步收發(fā)器(USART)提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式的外部設(shè)備之間進(jìn)行全雙工數(shù)據(jù)交換。USART利用分?jǐn)?shù)波特率發(fā)生器提供寬范圍的波特率選擇。它支持同步單向通信
    的頭像 發(fā)表于 02-18 16:58 ?590次閱讀

    STM32F4xx中文參考手冊(cè)--ST意法半導(dǎo)體

    STM32F4xx中文參考手冊(cè)--全中文主營(yíng)ST意法芯片,需要可提供樣品測(cè)試,數(shù)據(jù)手冊(cè),歡迎聯(lián)系.
    發(fā)表于 02-11 16:39 ?1次下載

    STM32F405xxSTM32F407xx微控制器數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F405xxSTM32F407xx微控制器數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 14:49 ?2次下載

    記錄我的stm32開(kāi)發(fā)學(xué)習(xí)過(guò)程

    : HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);// 設(shè)置中斷優(yōu)先級(jí) HAL_NVIC_EnableIRQ(USART1_IRQn); // 啟用中
    發(fā)表于 11-19 14:37

    【GD32 MCU 移植教程】10、從STM32F030系列移植到GD32E230系列

    GD32E230 對(duì)比 STM32F030 有著很好的兼容性和更高的性價(jià)比,內(nèi)核和外設(shè)都有所增強(qiáng)。本人曾做過(guò)產(chǎn)品的 MCU 替換,將基于 STM32F0xx 1.5.0 固件庫(kù)的應(yīng)用程序移植到
    的頭像 發(fā)表于 09-07 10:24 ?1237次閱讀
    【GD32 MCU 移植教程】10、從<b class='flag-5'>STM32F</b>030系列移植到GD32E230系列

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

    GD32F4xx 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F4xx系列 MCU 保持高度兼容。本文主要從以下三個(gè)方面進(jìn)行介紹:硬件資源對(duì)比
    的頭像 發(fā)表于 09-06 09:40 ?2155次閱讀
    【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F4xx</b> 系列移植到 GD32<b class='flag-5'>F4xx</b> 系

    STM32CUBEMX(2)--USART通過(guò)DMA方式接收不定長(zhǎng)數(shù)據(jù)

    的不同,有一個(gè)或兩個(gè)DMA模塊。 STM32F0XX DMA控制器總共有5個(gè)通道用于DMA1,每個(gè)通道都專門管理來(lái)自一個(gè)或多個(gè)外設(shè)的存儲(chǔ)器訪問(wèn)請(qǐng)求。它具有一個(gè)仲裁器,用于處理不同的DMA請(qǐng)求的優(yōu)先級(jí)
    發(fā)表于 09-04 11:48

    STM32F10xx芯片資料

    電子發(fā)燒友網(wǎng)站提供《STM32F10xx芯片資料.pdf》資料免費(fèi)下載
    發(fā)表于 07-08 14:56 ?1次下載

    CW2015_STM32F1XX_C8T6資料包分享

    CW2015_STM32F1XX_C8T6
    發(fā)表于 06-07 12:46 ?12次下載

    開(kāi)發(fā)環(huán)境coocox,stm32f429串口輸出總是亂碼的原因?

    。 #includequot;stm32f4xx_usart.h quot; #includequot;stm32f4xx_gpio.h quot; #includequot;stm32f4xx
    發(fā)表于 05-17 07:38

    STM32F042的CAN通信,初始化過(guò)不了的原因?

    !。初始化完成后又進(jìn)不去中斷,我的啟動(dòng)代碼是 startup_stm32f0xx.s沒(méi)有can中斷,但是stm32f0xx。h里面又定義了#define CEC_IRQnCEC_CAN_IRQn,然后就
    發(fā)表于 05-08 06:17

    用Cubemx配置調(diào)通過(guò)STM32F0USART2,發(fā)送可以正常發(fā)送,但接收不正常,為什么?

    我用Cubemx 配置調(diào)通過(guò)STM32F0USART2,發(fā)送可以正常發(fā)送,但接收不正常,我現(xiàn)在懷疑是Cubemx的問(wèn)題,有沒(méi)有人曾經(jīng)條通過(guò)?
    發(fā)表于 05-06 06:25