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

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

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

3天內不再提示

STM32F1 _DMA_USART

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

今天總結“STM32F103DMA_USART”,DMA學習過計算機人都明白它是什么意思,就是直接存儲器存取(Direct Memory Access),很多人都知道它的意思,但基本上不知道的怎么用,或者不知道它的用途。其實DMA在計算機里面是非常重要的,它可以減少CPU的資源。大家都用U盤拷貝過數據,這就是很常見的DMA應用。假如不適用DMA傳輸數據,我們拷貝大文件的時候,我們的電腦操作其他應用程序的時候估計會把電腦卡死。

今天就總結一下DMA常用于串口通信的例子,實例源代碼請自行下載。由于時間有限,只講解了DMA發送及中斷,接收這一塊還沒有來得及整理,后期我將以實例講解,請持續關注。

下載

提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。

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

https://yunpan.cn/cSdzWimMT8v7S訪問密碼 4a02

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

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內容講解

工程概要說明: 今天使用DMA1通道4(這里是重點,下面講解)傳輸串口發送的數據。工程配置串口使能DMA傳輸,DMA按要求發送完成會響應DMA中斷,這時在中斷里變化一次LED,以提示的作用。關于串口使用DMA接收的原理類似,后期我會舉例講解。

提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。

關于“STM32F103 DMA_USART”我把重要的幾點在下面分別講述:

一、RCC時鐘

該函數位于bsp.c文件下面;

注意:

這里是使用RCC_AHBPeriphClockCmd,我開始調試的時候,使用RCC_APB1PeriphClockCmd,怎么都不行,結果我才發現時鐘錯了。

二、DMA的NVIC配置

該函數位于bsp.c文件下面;

由于使用DMA中斷,這里必須配置才能響應中斷。

三、DMA輸出配置

該函數位于main.c文件下面;

主要就是我框出來的兩點比較重要,串口發送數據寄存器地址,中斷需要配置。

這里我封裝成一個發送函數接口,所以下面是直接調用這個函數。

四、DMA中斷

該函數位于stm32f10x_it.c文件下面;

提出來說,有兩點:1、函數必須有。2、需要清除標志位。

五、今天的重點

為什么是“DMA1_Channel4”,開始學習的人很納悶,其實這里是規定的(定的要求,見手冊)。

說明

今天提供的軟件工程基于STM32F103大容量芯片,其實只要適當修改工程的部分配置,STM32F1的芯片都適用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dma
    dma
    +關注

    關注

    3

    文章

    582

    瀏覽量

    105918
  • USART
    +關注

    關注

    1

    文章

    202

    瀏覽量

    33161
  • STM32F10
    +關注

    關注

    0

    文章

    49

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

    的問題,USART6復用配置好像也有問題,這個沒有細看不是很確定。附上圖片 問題三:在stm32_uart_get_dma_config(void)函數中只有串口1至串口6,雖然影響不是很大。
    發表于 09-25 06:37

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

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

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

    \\bsp\\stm32\\stm32f10x_template,然后通過Keil5打開工程并編譯,出現如下錯誤: compiling stm32f1xx_hal_nor.c... \"
    發表于 08-29 07:42

    STM32F405RGT6 ADC2+TIM4觸發+DMA(DMA2_Stream2_CH1)+DMA中斷會死機,怎么解決?

    ADC1+TIM4觸發+DMA(DMA2_Stream0_CH0)+DMA中斷完全正常更改為ADC2+TIM4觸發+DMA(
    發表于 08-04 07:16

    STM32F10xxx參考手冊

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

    STM32F407多機RS485串口通訊+地址位喚醒+DMA空閑線接收,無法進入中斷服務程序怎么處理?

    / hdma_usart3_rx.Instance = DMA1_Stream1; hdma_usart3_rx.Init.Channel = DMA
    發表于 07-10 07:28

    小馬哥STM32F1主控720空心杯四軸飛行器資料(包含源代碼和相關教程)

    小馬哥STM32F1主控720空心杯四軸飛行器資料(包含源代碼和相關教程),推薦下載!
    發表于 05-29 21:51

    小馬哥STM32F1主控720空心杯四軸飛行器資料(包含源代碼和相關教程)

    小馬哥STM32F1主控720空心杯四軸飛行器資料(包含源代碼和相關教程) 項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-23 21:07

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

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

    STM32F1能使用11.059Mhz外部晶振嗎?怎么設置系統頻率和PLL?

    請問STM32F1能使用11.059Mhz外部晶振嗎?如果可以,怎么設置系統頻率和PLL?
    發表于 03-14 06:31

    求助,關于STM32F407 DMA NVIC設置的疑問求解

    采用STM32F407, DMA1 stream5(request: usart2_rx)DMA1 stream6(usart2_tx),
    發表于 03-13 08:09

    Arduino中可以使用STM32F1或者STM32F4系列芯片的內置看門狗嗎?

    Arduino中可以使用STM32F1或者STM32F4系列芯片的內置看門狗嗎
    發表于 03-13 07:32

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

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

    stm32F407使用HAL_UARTEx_RxEventCallback實現的uart數據接收不會被清理,一直累加怎么解決?

    我正在使用stm32F407學些開發stm32環境,在調試usart1的環境中遇到了問題:我使用DMA+中斷的方式來實現數據的收發,但是每次我使用串口工具發送相同長度的數據過來,在
    發表于 03-07 07:15