0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32 F303K8 DMA的配置方法

冬至配饺子 来源:Vulcan Matrix 作者:Vulcan 2023-07-24 14:40 次阅读

本文以stm32 F303K8为例,不同型号的DMA配置方法略有不同。

本文设计的实验如下:通过USART2接收数据,并通过DMA将串口接受数据循环存入长度为100的uint8型数组。

思维导图总览:

图片

1- 时钟配置

图片

有stm32基本知识应该知道Stm32的每个外设在使用前都需要开启其时钟,否则模块不运行。

2 - DMA配置

使用DMA前要确定外设与DMA连接的通道,不用系列芯片硬件设计略有不同,因此要去查对应型号的参考手册。

图片

F303K8上USART2_RX的请求连接在DMA1的Channel6上。后续的配置都围绕对DMA1的Channel6的配置。

DMA的结构如下,下图截取自F4系列的数据手册,F3的DMA结构与F1的相同,但不影响借用F4的DMA结构图对配置方法进行理解。

图片

要配置的内容及API如下:

图片

图片

这里没有使用DMA的中断,因此没有对具体的中断进行使能。

3 - 使能外设发出DMA请求

图片

DMA是在外设或软件Requst之后才会发起传输,所以要使能外设发出DMA请求,这里是USART2_RX的请求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2240

    文章

    10674

    浏览量

    348811
  • 中断处理
    +关注

    关注

    0

    文章

    92

    浏览量

    10891
  • dma
    dma
    +关注

    关注

    3

    文章

    535

    浏览量

    99047
  • USART串口
    +关注

    关注

    0

    文章

    31

    浏览量

    6723
收藏 人收藏

    评论

    相关推荐

    STM32CubeMx的初始配置顺序是怎么影响DMA功能的

    ‍经常有STM32开发者基于STM32CubeMx进行配置并生成基于HAL库的初始化代码,当涉及到DMA功能时,发现DMA功能无效,但从
    的头像 发表于 10-13 10:14 2202次阅读
    <b class='flag-5'>STM32</b>CubeMx的初始<b class='flag-5'>配置</b>顺序是怎么影响<b class='flag-5'>DMA</b>功能的

    STM32CUBEMX开发GD32F303(9)----USART通过DMA收发

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。 本章主要
    的头像 发表于 11-29 11:15 1621次阅读
    <b class='flag-5'>STM32</b>CUBEMX开发GD32F<b class='flag-5'>303</b>(9)----USART通过<b class='flag-5'>DMA</b>收发

    STM32F303CB把8K CCMRAM作为FFT运算的输入缓冲区,UART发送固定内容会偶发出现错误的原因?

    采用STM32F303CB芯片 把里面的8K CCMRAM作为了FFT运算的输入缓冲区,但是出现了奇怪的现象,UART发送固定内容,但是出现了偶发的内容错误,数据长度正常。比如发送的0x01
    发表于 04-24 07:46

    在IAR中没有F303RE的构建配置

    使用STM32303C-EVAL_SINGLEDRIVE作为选项在下拉菜单中进行构建,请参见附图。为什么IAR下拉菜单中没有F303RE的构建配置?当构建配置错误时,我是否应该能够编译
    发表于 06-28 15:07

    STM32F407的串口是怎样通过DMA收发数据配置

    STM32F407的串口是怎样通过DMA收发数据配置呢?STM32F407与STM32F103串口采用D
    发表于 12-08 06:03

    STM32F303xB/C/D/E, STM32F303x6/8, STM32F328x8, STM32F358xC和STM32F398xE微控制器参考手册

    本参考手册涵盖了基于ARM® CORTEX®-M4内核的单片机STM32F303xB/C/D/E, STM32F303x6/8, STM32F328x8,
    发表于 11-24 06:09

    基于ARM Cortex-M4 STM32F303xB,STM32F303xC的数据手册

    STM32F303xB,STM32F303xC】本文档是关于ARM® Cortex®-M4内核的单片机STM32F303xB,STM32F303xC的数据手册。特征:  核心:带fp
    发表于 11-28 06:39

    STM32F303xD和STM32F303xE设备勘误表

    STM32F303xD,STM32F303xE】STM32F303xD STM32F303xE单片机的局限性
    发表于 11-30 06:40

    STM32F303x6/x8设备限制相关资料分享

    STM32F303xx,Rev “Z”】STM32F303x6/x8单片机的局限性
    发表于 11-30 08:09

    STM32F302xx/STM32F303xx/STM32F31xxx时钟配置工具介绍

    本文档适用于STM32F302xx/STM32F303xx/STM32F31xxx产品系列,是关于内部时钟配置的应用笔记,帮助用户解决了内部时钟配置
    发表于 12-01 07:09

    怎样使用STM32F303K8DMA模式中配置ADC1呢

    我正在尝试使用 STM32F303K8DMA 模式中配置 ADC1当我调试时,这些值根本没有改变。通过断点,我可以看到调用了 DMA
    发表于 12-19 08:31

    STM32F0xx_ DMA收发USART数据配置详细过程

    STM32F0xx_DMA收发USART数据配置详细过程
    的头像 发表于 04-08 09:02 5213次阅读
    <b class='flag-5'>STM32</b>F0xx_ <b class='flag-5'>DMA</b>收发USART数据<b class='flag-5'>配置</b>详细过程

    STM32cubeMX I2S DMA双缓冲配置

    STM32cubeMX I2S DMA双缓冲配置开发测试环境cubeMX配置方法1,配置I2S模
    发表于 12-03 09:06 35次下载
    <b class='flag-5'>STM32</b>cubeMX I2S <b class='flag-5'>DMA</b>双缓冲<b class='flag-5'>配置</b>

    AN4152 STM32F302xx、STM32F303xx和STM32F31xxx微控制器时钟配置工具

    AN4152 STM32F302xx、STM32F303xx和STM32F31xxx微控制器时钟配置工具
    发表于 11-24 08:32 0次下载
    AN4152 <b class='flag-5'>STM32</b>F302xx、<b class='flag-5'>STM32F303</b>xx和<b class='flag-5'>STM32</b>F31xxx微控制器时钟<b class='flag-5'>配置</b>工具

    stm32 LL库开发-DMA使用方法

    本文以stm32 F303K8为例,不同型号的DMA配置方法略有不同。
    的头像 发表于 10-26 14:58 522次阅读
    <b class='flag-5'>stm32</b> LL库开发-<b class='flag-5'>DMA</b>使用<b class='flag-5'>方法</b>