STM32自学记录(九)

news/2025/2/10 18:09:07/

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


总结

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


http://www.ppmy.cn/news/1570925.html

相关文章

U3D支持webgpu阅读

https://docs.unity3d.com/6000.1/Documentation/Manual/WebGPU-features.html 这里看到已经该有的差不多都有了 WOW VFX更是好东西 https://unity.com/cn/features/visual-effect-graph 这玩意儿化简了纯手搓一个特效的流程 如果按原理说就是compute shader刷position&#…

上证50股指期货一点等于多少钱?

今天来聊聊上证50股指期货,这个期货合约可是跟上证50指数挂钩的,那它每动一点,到底值多少钱呢? 一、上证50期货是什么? 上证50期货是一种金融衍生品,简单来说,就是一种基于上证50指数的期货合…

linux的基础入门2

linux的root用户 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员) 而在前期,我们一直使用的账户是普通的用户 普通用户的权限,一般在其HOME目录内是不受限的 一旦出了HOME目录…

AI 编程开发插件codeium Windsurf(vscode、editor) 安装

1、vscode中安装: 2、vscode中使用 3、输入注册的账号密码,就可以使用。 4、或者直接下载editor 5、安装editor 下一步,下一步,直到安装成功,中间可以改下安装位置,如果C盘空间不够。 同样提示注册或者登录…

大语言模型RAG,transformer和mamba

1、RAG技术流总结 第一张图是比较经典的RAG知识图谱,第二张图是更加详细扎实的介绍图。 1.1 索引 坦白来说这部分的技术并不是大模型领域的,更像是之前技术在大模型领域的应用;早在2019年我就做过faiss部分的尝试,彼时索引技术已…

蓝桥杯之c++入门(一)【C++入门】

目录 前言5. 算术操作符5.1 算术操作符5.2 浮点数的除法5.3 负数取模5.4 数值溢出5.5 练习练习1:计算 ( a b ) ⋆ c (ab)^{\star}c (ab)⋆c练习2:带余除法练习3:整数个位练习4:整数十位练习5:时间转换练习6&#xff…

Tekton 可以代替 Jenkins不

Tekton 和 Jenkins 都是用于实现 CI/CD(持续集成/持续交付)管道的工具,但它们在设计理念、使用场景和功能特性上有所不同。是否可以用 Tekton 代替 Jenkins,取决于你的具体需求和使用场景。以下是对两者的详细比较,帮助…

如何在Docker中运行MySQL容器?

随着容器化技术的普及,Docker已成为开发和部署应用的首选工具之一。MySQL作为最流行的开源关系型数据库,也非常适合在Docker容器中运行。本文将介绍如何在Docker中运行MySQL容器,帮助你快速搭建一个可用的数据库环境。 1. 安装Docker 首先&a…