太冷了,先来吐槽下武汉的天气,我感觉冬天不是渐渐来的,而是突然到来的。回归主题,下面是今天的实验。

外部中断触发时,DMA向串口发送一次数据。

DMA是一个好东西,它不需要占用CPU的资源,只需要配置好之后初始化使能就可以将数据从一个地址空间快速复制到另一个地址空间,当DMA传输完成的时候产生一个中断。STM32有2个DMA控制器,一共12个通道,每个通道专门用来管理来自于一个或多个外设对寄存器访问的请求,参考STM32参考手册。从外设(TIMx、ADC、SPIx、IIC、USARTx)产生7个请求,通过逻辑或者输入到DMA控制器,这意味着同时只能有一个请求有效,DMA1请求一览表。

DMA2请求一览表。

下面是DMA的库

DMA时钟

同样,和之前一样,流程图。

这里具体的代码我就不一一再细说了,只有DAM的初始化和设置我们没有写过,下面是DMA的初始化和设置。

串口DMA的设置。

DMA发送使能,在外部中断中调用这个函数。

好了,今天就到这里了。

往期回顾

◆STM32f103单片机(四)——定时器中断◆STM32f103单片机(三)——串口

◆STM32f103单片机(二)——外部中断总结

◆STM32f103单片机(一)——新建工程+IO总结

dma访问主存时_STM32F103单片机(五)——DMA相关推荐

  1. dma访问主存时_DMA访问主存时,向CPU发出请求,获得总线使用权时再进行访存,这种情况称作()。...

    五"通"路交公路规划的政策措发展.问主水十一施有. 存时出请存称作 向行访选项中不置燃气浓度检的是测报以下用设警器.为(小净其最距应,助燃管等管共气管气体当煤道与氧气架时.煤量按( ...

  2. dma访问主存时_DMA导致Cache数据一致性问题的原因及其解决方式(理论篇)

    点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 唉!嫉妒之心真的能俘获它所接触到的任何目标啊--"欲加之罪,何患无辞"呢?"觉悟高的"更有" ...

  3. MSP430系列单片机的DMA使用全面认识

    快速参考目录 DMA的解释 MSP430系列单片机中的DMA MSP430 DMA控制器的特性 DMA的应用 明确你得需求 一个能用起来的官方例程 待续 DMA的解释 DMA(Direct Memor ...

  4. STM32单片机实现DMA+ADC+UART功能

    突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将采样值打印出来.但是这种方法在处理和打印数据的时候会占用很多时间,导致处理数据的时间超过了ADC的采样时间.于 ...

  5. axi dma 寄存器配置_「STM32」DMA采集单通道,简单数据分析

    什么是DMA DMA,Direct Memory Access,直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式.在DMA模式下,CPU只需要向DMA控制器下达指令,传输数据由DMA ...

  6. PYNQ开发板使用-使用DMA进行数据搬移(Simple DMA transfer 模式)

    该篇是学习使用PYNQ开发板,实际上是对ZYNQ PL端AXI_CDMA 核的应用.实验步骤参照官网的教程,一步一步地做,但是由于在硬件资源布置方面与官方教程稍有出入,所以在SDK的源码里也进行了修改 ...

  7. 【嵌入式12】DMA通信原理及编程实验,DMA方式向上位机连续发送数据

    本文介绍DMS通信原理,STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据. 一.DMA介绍 什么是DMA? DMA介绍 DMA传输方式 DMA传输参数 DMA数据传输的 ...

  8. tomcat部署 修改域名和访问域名时去掉项目名

    修改域名和访问域名时去掉项目名 1.修改端口为80端口 因为80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,浏览网页服务默认的端口号都是80,因 ...

  9. 为什么当项目启动后执行两次过滤器 再进行访问资源时执行一次过滤器

    为什么当项目启动后执行两次过滤器 再进行访问资源时执行一次过滤器 粗线的理解,启动项目后进行了两次请求,访问两次过滤器.访问资源时只进行一次请求,所以访问一次过滤器. 于是为了更加清楚地看清在启动项目 ...

最新文章

  1. sed,sort,uniq,join,cut,paste,split
  2. Linux服务源码安装后开机自启动04-php-fpm
  3. Django运维后台的搭建之四:用bootstrap模板让运维前台变得更漂亮
  4. 面试常备题---JVM加载class文件的原理机制
  5. BZOJ 3238 【AHOI2013】 差异
  6. RK3128 Linux 源代码,rk3128开发板linux开发使用指南(35页)-原创力文档
  7. 二阶差分方程预测模型matlab程序,差分方程预测模型.doc
  8. SQL 笛卡尔积现象
  9. ZEMAX | HUD 设计实例
  10. Apktool反编译
  11. 少林禅医:姜是无上养生物,谨慎使用大智慧
  12. 传奇脚本关于!Setup.txt 详细介绍
  13. C/S结构是什么意思?有什么优点?
  14. SAR舰船数据集----SSDD
  15. STM32F103 PB3 作为 普通IO使用
  16. 浅谈跨站请求伪造(CSRF)
  17. 2012-01-16
  18. android 坐标系 旋转,android IMU旋转矩阵横屏矫正(remapCoordinateSystem函数原理)
  19. (可实现的CCA2 放松条件---funcCPA)论文学习笔记
  20. PHP相关进制转换(二进制转数组、十进制转16进制、16进制转字符串)

热门文章

  1. μC/OS-I移植需要编写的文件
  2. 从头开始,搭建一个正则表达式引擎(一)整体构架、预处理
  3. ffmpeg时间基种类及转换
  4. 【Linux】tcp缓冲区大小的默认值、最大值
  5. java ee会员功能项目_基于jsp的会员系统-JavaEE实现会员系统 - java项目源码
  6. predicate java_java代码之美(13)--- Predicate详解
  7. usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧
  8. 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-1-Tensor
  9. D2 AJAX 封装策略
  10. 数据库MYSQL学习系列一