chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

STM32F1 _DMA_USART

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

掃碼添加小助手

加入工程師交流群

前言

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

今天就總結(jié)一下DMA常用于串口通信的例子,實(shí)例源代碼請(qǐng)自行下載。由于時(shí)間有限,只講解了DMA發(fā)送及中斷,接收這一塊還沒(méi)有來(lái)得及整理,后期我將以實(shí)例講解,請(qǐng)持續(xù)關(guān)注。

下載

提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒(méi)問(wèn)題才上傳至360云盤(pán)。

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

https://yunpan.cn/cSdzWimMT8v7S訪問(wèn)密碼 4a02

STM32F10x的資料可以在我360云盤(pán)下載:

https://yunpan.cn/crBUdUGdYKam2訪問(wèn)密碼 ca90

內(nèi)容講解

工程概要說(shuō)明: 今天使用DMA1通道4(這里是重點(diǎn),下面講解)傳輸串口發(fā)送的數(shù)據(jù)。工程配置串口使能DMA傳輸,DMA按要求發(fā)送完成會(huì)響應(yīng)DMA中斷,這時(shí)在中斷里變化一次LED,以提示的作用。關(guān)于串口使用DMA接收的原理類(lèi)似,后期我會(huì)舉例講解。

提供的工程以簡(jiǎn)單為原則,詳細(xì)中文注釋?zhuān)奖阕约悍奖愦蠹摇?/p>

關(guān)于“STM32F103 DMA_USART”我把重要的幾點(diǎn)在下面分別講述:

一、RCC時(shí)鐘

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

注意:

這里是使用RCC_AHBPeriphClockCmd,我開(kāi)始調(diào)試的時(shí)候,使用RCC_APB1PeriphClockCmd,怎么都不行,結(jié)果我才發(fā)現(xiàn)時(shí)鐘錯(cuò)了。

二、DMA的NVIC配置

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

由于使用DMA中斷,這里必須配置才能響應(yīng)中斷。

三、DMA輸出配置

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

主要就是我框出來(lái)的兩點(diǎn)比較重要,串口發(fā)送數(shù)據(jù)寄存器地址,中斷需要配置。

這里我封裝成一個(gè)發(fā)送函數(shù)接口,所以下面是直接調(diào)用這個(gè)函數(shù)。

四、DMA中斷

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

提出來(lái)說(shuō),有兩點(diǎn):1、函數(shù)必須有。2、需要清除標(biāo)志位。

五、今天的重點(diǎn)

為什么是“DMA1_Channel4”,開(kāi)始學(xué)習(xí)的人很納悶,其實(shí)這里是規(guī)定的(定的要求,見(jiàn)手冊(cè))。

說(shuō)明

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    576

    瀏覽量

    104657
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

    32623
  • STM32F10
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    GD32的串口DMA收發(fā)數(shù)據(jù)失敗怎么解決?

    我在使用RTT的GD32F303的BSP時(shí),配置使用串口DMA收發(fā)(rt_device_open),發(fā)現(xiàn)錯(cuò)誤,最終無(wú)法收發(fā)數(shù)據(jù),對(duì)比了STM32的BSP發(fā)現(xiàn)在drv_usart.c中
    發(fā)表于 09-17 06:04

    制作STM32F1開(kāi)發(fā)板的BSP失敗的原因?

    \\bsp\\stm32\\stm32f10x_template,然后通過(guò)Keil5打開(kāi)工程并編譯,出現(xiàn)如下錯(cuò)誤: compiling stm32f1xx_hal_nor.c... \"
    發(fā)表于 08-29 07:42

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

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

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

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

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

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

    STM32F1能使用11.059Mhz外部晶振嗎?怎么設(shè)置系統(tǒng)頻率和PLL?

    請(qǐng)問(wèn)STM32F1能使用11.059Mhz外部晶振嗎?如果可以,怎么設(shè)置系統(tǒng)頻率和PLL?
    發(fā)表于 03-14 06:31

    求助,關(guān)于STM32F407 DMA NVIC設(shè)置的疑問(wèn)求解

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

    Arduino中可以使用STM32F1或者STM32F4系列芯片的內(nèi)置看門(mén)狗嗎?

    Arduino中可以使用STM32F1或者STM32F4系列芯片的內(nèi)置看門(mén)狗嗎
    發(fā)表于 03-13 07:32

    stm32g0b1中的usart5進(jìn)不去HAL_UARTEx_RxEventCallback,為什么?

    請(qǐng)教一下關(guān)于stm32g系列的問(wèn)題,stm32g0b1中的usart5進(jìn)不去HAL_UARTEx_RxEventCallback,cudemx上配置跟其他串口也是一樣的,都打開(kāi)中斷了,也配置了
    發(fā)表于 03-13 06:51

    stm32F407使用HAL_UARTEx_RxEventCallback實(shí)現(xiàn)的uart數(shù)據(jù)接收不會(huì)被清理,一直累加怎么解決?

    我正在使用stm32F407學(xué)些開(kāi)發(fā)stm32環(huán)境,在調(diào)試usart1的環(huán)境中遇到了問(wèn)題:我使用DMA+中斷的方式來(lái)實(shí)現(xiàn)數(shù)據(jù)的收發(fā),但是每次我使用串口工具發(fā)送相同長(zhǎng)度的數(shù)據(jù)過(guò)來(lái),在
    發(fā)表于 03-07 07:15

    CKS32F107xx系列USART的LIN模式

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

    如何使用DMA進(jìn)行USART不定長(zhǎng)度接收

    在上一講中,我們對(duì)USART進(jìn)行了簡(jiǎn)單介紹,并講解了如何在不使用DMA的情況下進(jìn)行不定長(zhǎng)度數(shù)據(jù)接收,本講將著重講解如何使用DMA進(jìn)行USART不定長(zhǎng)度接收。
    的頭像 發(fā)表于 02-18 17:01 ?1172次閱讀
    如何使用<b class='flag-5'>DMA</b>進(jìn)行<b class='flag-5'>USART</b>不定長(zhǎng)度接收

    STM32F1開(kāi)發(fā)指南

    這本書(shū)詳細(xì)講述了STM32HAL庫(kù)開(kāi)發(fā)的配置流程,非常詳細(xì)
    發(fā)表于 01-21 15:33 ?3次下載

    通過(guò)stm32F1單片機(jī)的PWM功能產(chǎn)生兩個(gè)時(shí)鐘,從Dout讀取到的數(shù)據(jù)位都是0,這個(gè)是怎么回事呢?

    我通過(guò)stm32F1單片機(jī)的PWM功能產(chǎn)生兩個(gè)時(shí)鐘:第一個(gè)是clk時(shí)鐘,頻率12MHz;第二個(gè)是CONV,我用PWM輸出1000ms的積分時(shí)間方波,占空比為50%,那么DDC112工作在continue模式,根據(jù)讀取數(shù)據(jù)的時(shí)序圖,我從Dout讀取到的數(shù)據(jù)位都是0,這個(gè)是怎么回事呢。
    發(fā)表于 12-02 06:30