STM32自学记录


文章目录

  • STM32自学记录
  • 前言
  • 一、DMA杂记
  • 二、实验
  • 1.学习视频
  • 2.复现代码
  • 总结

  • 前言

    DMA


    一、DMA杂记

    DMA(Direct Memory Access)直接存储器存取
    DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省CPU的资源。
    12个独立可配置的通道:DMA1(7个通道),DMA2(5个通道)
    每个通道都支持软件触发和特定的硬件触发。
    STM32F103C8T6 DMA资源:DMA1(7个通道)
    存储器到存储器的数据转运——软件触发
    外设到存储器的数据转运——硬件触发
    计算机系统的5大组成部分:运算器、控制器、存储器、输入设备和输出设备。
    CPU:运算器和控制器;+存储器=两大核心
    存储器:存储器的内容+存储器地址
    寄存器是连接软件和硬件的桥梁。
    CPU或者DMA直接访问FLASH,是只可以读而不可以写的。
    SARM是运行内存,可以任意读写。
    数据宽度:字节Byte、半字HalfWord、字Word
    8位uint8_t/16位uint16_t/32位uint32_t
    数据自增–>指针、P++
    DMA转运几个条件:1:开关控制,DMA_Cmd必须使能;2:传输计数器必须大于0;3:就是触发源必须有触发信号。
    触发一次,转运一次,传输计数器自减一次。
    写传输计数器时,必须要先关闭DMA。
    ADC的扫描模式,如果不使用DMA,功能都会收到很大的限制。
    中断:传输过半、传输完成、传输错误。
    DMA寄存器:DMA中断状态寄存器(DMA_ISR)
    DMA中断标志清除寄存器(DMA_IFCR)
    DMA通道x配置寄存器(DMA_CCRx)
    DMA通道x传输数量寄存器(DMA_CNDTRx)
    DMA通道x外设地址寄存器(DMA_CPARx)
    DMA通道x存储器地址寄存器(DMA_CMARx)
    DMA寄存器映像
    初始化:1:RCC开启DMA时钟;2:直接调用DMA_Init,初始化各个参数。
    存储器映像:

    DMA框图:

    DMA基本结构图:

    DMA请求:

    数据宽度与对齐:

    数据转运+DMA:

    ADC扫描模式+DMA:

    二、实验

    1.学习视频

    B站视频链接:https://www.bilibili.com/video/BV1th411z7sn?spm_id_from=333.788.videopod.episodes&vd_source=a329b5512bc531099df1a823202af19c&p=23

    2.复现代码

    百度网盘链接:https://pan.baidu.com/s/1T6ycZNcGiQ_amqc87qTqww
    提取码:7bs1


    总结

    单片机只是纸老虎,只管去做就好。

    作者:\>水木林森\x3C

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32自学记录(九)

    发表回复