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

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

3天内不再提示

stm32 LL库开发-DMA使用方法

冬至子 来源:Vulcan Matrix 作者:Vulcan 2023-10-26 14:58 次阅读

本文以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

    文章

    10675

    浏览量

    348868
  • dma
    dma
    +关注

    关注

    3

    文章

    536

    浏览量

    99071
  • 串口中断
    +关注

    关注

    0

    文章

    63

    浏览量

    13615
  • USART串口
    +关注

    关注

    0

    文章

    31

    浏览量

    6723
收藏 人收藏

    评论

    相关推荐

    转:STM32LL开发使用指南

    是我自己XJB取的。。。。。。。。一、 初识LL 最近论坛发的STM32L476RGNucleo开发板到手了,准备学习玩耍,当然第一步就是下载资料,于是我下载
    发表于 06-13 10:48

    【NUCLEO-L476RG LL开发STM32LL开发使用指南

    下载地址:http://pan.baidu.com/s/1c0wjL5m 一楼二楼是具体使用方法。 已完,上传文档和工程模板: STM32 LL使用指南.pdf
    发表于 07-02 03:03

    STM32之HAL、标准外设LLSTM32 Embedded Software)

    STM32 Embedded Software  工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发。到目前为止,
    发表于 07-03 15:02

    STM32CubeMX 实战教程:看门狗实验(LL )精选资料分享

    LL 】详细讲述了 STM32CubeMX IWDG 和 WWDG 配置方法使用方法,内附图文及代码。
    发表于 08-02 07:09

    空闲中断+DMA接收数据使用LL配置

    空闲中断+DMA接收数据使用LL配置,可与HAL一起使用,编译文件大小如下:1.代码配置usart1.h主要定义接收缓存,发送缓存,处理缓存大小#ifndef _USART1_H#
    发表于 08-17 08:16

    STM32串口配合DMA使用方法回顾

    小焦的STM32学习日志(一)2020.4.20数据位大小与大端小端:实际应用:`assert_param();`函数的理解:串口配合DMA使用方法回顾:实现平台说明:重要的初始化内容:需要额外
    发表于 08-20 07:08

    STM32 LL使用方法是什么

    LL有哪些应用?LL驱动程序功能有哪些?LL使用方法是什么?
    发表于 10-26 06:31

    STM32固件使用方法

    一.实验目的掌握STM32固件使用方法;掌握基于库函数模板的开发方法;掌握基于固件进行GP
    发表于 10-27 06:37

    讲解下LL中使用UART的基本操作

    UART是什么?LL中UART的基本使用方法是什么?
    发表于 02-11 06:27

    LL串口+DMA的相关资料分享

    的资料少之又少啊!自己做个记录。使用cubemx可以直接生产LL的代码(我的工程里是halLL混用的),
    发表于 02-22 08:08

    STM32CubeMX 实战教程:看门狗实验(LL 库)

    LL 库】详细讲述了 STM32CubeMX IWDG 和 WWDG 配置方法使用方法,内附图文及代码。
    发表于 12-05 14:21 21次下载
    <b class='flag-5'>STM32</b>CubeMX 实战教程:看门狗实验(<b class='flag-5'>LL</b> 库)

    LL库串口+DMA

    库的资料少之又少啊!自己做个记录。 使用cubemx可以直接生产LL库的代码(我的工程里是hal库和LL库混用的),LL库串口硬件初始化部分会自动生成,但是传输地址及DMA传输长度
    发表于 12-27 19:31 19次下载
    <b class='flag-5'>LL</b>库串口+<b class='flag-5'>DMA</b>

    STM32G0开发笔记:SD卡模块的使用方法

    使用Platformio平台的libopencm3开发框架来开发STM32G0,下面介绍SD卡模块的使用方法
    的头像 发表于 01-19 16:27 1415次阅读
    <b class='flag-5'>STM32</b>G0<b class='flag-5'>开发</b>笔记:SD卡模块的<b class='flag-5'>使用方法</b>

    STM32G0开发笔记:定时器timer的基本使用方法

    使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为定时器timer的基本使用方法
    的头像 发表于 01-17 10:43 2822次阅读
    <b class='flag-5'>STM32</b>G0<b class='flag-5'>开发</b>笔记:定时器timer的基本<b class='flag-5'>使用方法</b>

    STM32 DMA传输的问题分析

    用户使用STM32G473RET6芯片,开发环境STM32CubeMX+Keil(LL库)。使用DMA1通道1,在半传输中断和完全传输中断里
    的头像 发表于 12-01 09:19 1098次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>DMA</b>传输的问题分析