stm32学习第二篇(正点)

1.DMA

字节为8位,半字16位,字32位,图二中FIFO模式即源和目标数据宽度不匹配时可以一次发送特定位数的数据。

由上图,有DMA1和DMA2,总共有八个数据流,每个数据流对应八个通道。

上图为不同方向的源地址和目标地址的选择。

每个数据流可以配置不同的优先级。

指针递增,自动递增指针发送数据。

双缓冲区模式如图所示。

DMA中断指相应事件完成时控制标志位,触发中断。

上图为使用各种外设DMA的使能函数,可以在相应外设的库文件中找到。

上图为在主函数中使用MYDMA_Config配置函数,图中使用的是DMA2的数据流7通道4,即USART1,所以第三个空填写USART的基地址即DR寄存器。

然后主函数中定义了发送数据缓冲区为8200个,即数组有8200个,然后模式为存储器到外设,由于都是发送到USART的DR寄存器,所以外设选择非增量模式,而发送的数据取自存储器,所以选择存储器增量模式,就会一直自增发送,即依次发送数组中的8200个元素。

模式设置中的循环模式即传输完后又会回到第一个重新开始传输,图中选择的为普通模式。

单词突发传输即一次传输一个字节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值