国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    20255

    瀏覽量

    252276
  • USART
    +關注

    關注

    1

    文章

    202

    瀏覽量

    33164
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17867
  • STM32F0XX
    +關注

    關注

    0

    文章

    11

    瀏覽量

    2969
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    使用 STM32F745 進行產品開發的時候,出現了使用 STM32CubeProgramer 無法通過 USART1 Bootloader 進行程序升級的問題。為了解決客戶的問題,我在 NUCLEO-
    發表于 01-11 17:33 ?0次下載

    在標準庫下配置stm32f103x的spi在引入rtthread后收發的消息就錯了,為什么?

    我在標準庫下配置stm32f103x的spi在引入rtthread后收發的消息就錯了,引入之前沒問題,請問這是啥情況
    發表于 10-13 08:07

    SDK資源包bug drv_usart.c不能使用UART9及以上的串口怎么解決?

    問題一: 用Studio生成STM32F4工程,發現在board.h 配置串口9(BSP_USING_UART9)有問題,觀察drv_usart.c文件發現沒有串口8以上的代碼。 注:stm3
    發表于 09-25 06:37

    GD32的串口DMA收發數據失敗怎么解決?

    我在使用RTT的GD32F303的BSP時,配置使用串口DMA收發(rt_device_open),發現錯誤,最終無法收發數據,對比了STM32
    發表于 09-17 06:04

    制作STM32F1開發板的BSP失敗的原因?

    _HAL\\STM32F1xx_HAL_Driver\\Src\\stm32f1xx_hal_nor.c: 0 warnings, 1 error compiling
    發表于 08-29 07:42

    STM32F10xxx參考手冊

    STM32F1XX數據手冊中文版
    發表于 07-10 16:09 ?10次下載

    stm32N657配置USART2,可以發送,但是為什么無法進入接收中斷呢?

    https://gitee.com/liu-qingchang/code/tree/master/stm32n6 main函數和usart代碼 使用stm32N657這塊評估板,使用cubeMX
    發表于 06-18 07:13

    STM32F4標準外設庫資料

    stm32f4xx.h,標準外設庫
    發表于 06-08 09:49 ?5次下載

    STM32F40xxx和STM32f41xx flash編程手冊

    PM0081_STM32F40xxx and STM32F41xxx單片機編程手冊
    發表于 06-06 17:02 ?5次下載

    0STM32中的SysTick是個啥?咋用?(可下載)

    中的使能位清除,就永不停息。SysTick在《STM32xx中文參考手冊》里面基本沒有介紹,其詳細介紹,內核編程手冊中。在工程中我們將以STM32F373為例,為SysTick配置1m
    發表于 04-01 14:52 ?0次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機械器件特性。有關整個STMicroelectronics STM32F103xx系列的更多信息,請
    發表于 03-18 16:37 ?0次下載

    STM32F107的USART2為什么進不了中斷?

    剛開始學STM32,手里有一塊公司的板子,板子上的USB接到FT232R,再從FT232R接到MCU的PD5(USART2TX)和PD6(USART2RX)。 我嘗試了公司的代碼,應該是用標準庫寫
    發表于 03-14 16:57

    stm32g0b1中的usart5進不去HAL_UARTEx_RxEventCallback,為什么?

    請教一下關于stm32g系列的問題,stm32g0b1中的usart5進不去HAL_UARTEx_RxEventCallback,cudemx上配置跟其他串口也是一樣的,都打開中斷了,
    發表于 03-13 06:51

    stm32f103USART2為什么無法收發信息?

    include \"usart.h\" int fputc(int ch, FILE *f){Serial_SendByte(ch); return ch;} void
    發表于 03-12 06:22

    STM32L451CEU6發送0x80會收到0x00的數據,發送0x01會收到0x7F的數據,為什么?

    使用STM32L451CEU6型號的芯片,在用usart(PA9、PA10)進行串口通信時,發送0x55在PC端可以收到正確的數據,但是發送0x80會收到
    發表于 03-07 08:44