<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F0xx _USART收發配置詳細過程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 09:28 ? 次閱讀

前言

串口對于處理器來說算是一種標配,也是在軟件開發中必不可少的,那就是使用串口來調試信息(打印出相應的信息)。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

    文章

    18563

    瀏覽量

    224078
  • USART
    +關注

    關注

    1

    文章

    192

    瀏覽量

    30511
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17013
  • STM32F0XX
    +關注

    關注

    0

    文章

    11

    瀏覽量

    2710
收藏 人收藏

    評論

    相關推薦

    STM32F042的CAN通信,初始化過不了的原因?

    !。初始化完成后又進不去中斷,我的啟動代碼是 startup_stm32f0xx.s沒有can中斷,但是stm32f0xx。h里面又定義了#define CEC_IRQnCEC_CAN_IRQn,然后就
    發表于 05-08 06:17

    stm32f0xx_stdperiph_lib_um.chm怎么用?

    最近用STM32F0,沒有中文文檔找到庫里面有個stm32f0xx_stdperiph_lib_um.chm 這個怎么用?搗鼓了一會沒整明白比如 我想知道所有RCC的庫函數, 怎么看?
    發表于 04-24 07:19

    stm32f4xx的CAN對ID配置有要求嗎?CAN收發器是什么型號的?

    stm32f4xx的CAN疑問: 1)標準幀收發時,對CAN ID有特殊的要求或約束嗎?比如哪些CAN ID不能用? 2)CAN收發器是什么型號?對CAN數據鏈路層的編碼有特殊操作嗎?
    發表于 04-22 06:03

    STM32F103RCT6的USART1不能接收多字節數據是什么原因導致的?

    節的數據。5毫秒延時,STM32F103RCT6只能接收到2個字節的數據。 用實際上位機發送時,STM32F103RCT6能接收到最后1個字節的數據。 實際上位機是這樣發送的: for(int j=0
    發表于 04-17 06:35

    STM32G4XX不能夠像STM32F1XX STM32F4XX那樣對GPIO進行位帶操作呢?

    請教下,在STM32G4XX系列里面,GPIO掛載在AHB2總線上面,地址在0x4800 0000. 是不是也就意味著,STM32G4XX不能夠在像STM32F1XX
    發表于 03-21 07:16

    STM32 HAL庫串口同時收發,接收卡死?

    HAL庫是針對STM32系列單片機的一套常用的高級抽象層庫。在HAL庫中,串口通信是通過針對USART外設的封裝實現的。HAL庫中提供了一些函數,可以方便地配置USART外設的各種參
    的頭像 發表于 10-26 17:42 ?2690次閱讀

    STM32請問串口要發送數據“1”該怎么賦值給USART-&gt;DR寄存器?

    STM32請問串口要發送數據“1”該怎么賦值給USART-DR寄存器? 首先,我們需要了解一下STM32的串口通信模塊。 STM32的串口通信模塊有三個,分別是
    的頭像 發表于 10-26 11:30 ?725次閱讀

    STM32F0xx微控制器系列產品中使用DAC生成音頻和波形

    電子發燒友網站提供《在STM32F0xx微控制器系列產品中使用DAC生成音頻和波形.pdf》資料免費下載
    發表于 09-25 09:24 ?0次下載
    在<b class='flag-5'>STM32F0xx</b>微控制器系列產品中使用DAC生成音頻和波形

    STM32F0xx的DMA控制器的使用

    電子發燒友網站提供《STM32F0xx的DMA控制器的使用.pdf》資料免費下載
    發表于 09-21 14:49 ?0次下載
    <b class='flag-5'>STM32F0xx</b>的DMA控制器的使用

    使用STM32F0xxSTM32F3xx微控制器為紅外遙控協議實現發送器和接收器

    電子發燒友網站提供《使用STM32F0xxSTM32F3xx微控制器為紅外遙控協議實現發送器和接收器.pdf》資料免費下載
    發表于 09-21 14:47 ?1次下載
    使用<b class='flag-5'>STM32F0xx</b>和<b class='flag-5'>STM32F3xx</b>微控制器為紅外遙控協議實現發送器和接收器

    使用USART實現STM32F0xx應用編程

    電子發燒友網站提供《使用USART實現STM32F0xx應用編程 .pdf》資料免費下載
    發表于 09-21 14:43 ?0次下載
    使用<b class='flag-5'>USART</b>實現<b class='flag-5'>STM32F0xx</b>應用編程

    STM32F0xx微控制器中的EEPROM仿真

    電子發燒友網站提供《STM32F0xx微控制器中的EEPROM仿真.pdf》資料免費下載
    發表于 09-21 10:50 ?0次下載
    <b class='flag-5'>STM32F0xx</b>微控制器中的EEPROM仿真

    適用于STM32F0xx微控制器的時鐘配置工具

    電子發燒友網站提供《適用于STM32F0xx微控制器的時鐘配置工具.pdf》資料免費下載
    發表于 09-21 10:45 ?3次下載
    適用于<b class='flag-5'>STM32F0xx</b>微控制器的時鐘<b class='flag-5'>配置</b>工具

    STM32CubeMx配置USART1增加打印功能

    STM32CubeMx配置USART1增加打印功能
    的頭像 發表于 08-22 10:32 ?763次閱讀
    <b class='flag-5'>STM32</b>CubeMx<b class='flag-5'>配置</b><b class='flag-5'>USART</b>1增加打印功能

    STM32F101xxSTM32F103xx中文教程及參考手冊

    本參考手冊針對應用開發,提供關于如何使用 STM32F101xxSTM32F103xx 微控制器的存儲器 和外設的詳細信息。在本參考手冊中 STM32F101xx
    發表于 07-12 14:45 ?49次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>