STM32自学记录(九)

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.rhkb.cn/news/18069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙Harmony-UIAbility内状态-LocalStorage详细介绍

鸿蒙Harmony-UIAbility内状态-LocalStorage详细介绍 1.1 Localstorage的概念 LocalStorage是页面级的UI状态存储,通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例,LocalStorage也可以在UIAbility内,页面间共享状态 1.2 Lo…

SiliconCloud 支持deepseek,送2000w token

SiliconCloud SiliconCloud 邀请奖励持续进行,2000 万 Tokens 送不停! 邀请好友赚 2000 万 Tokens:每成功邀请一位新用户通过手机号码注册,您将获得 2000 万 Tokens;注册即送 2000 万 Tokens:受邀好友作为…

ubuntu服务器部署

关闭欢迎消息 服务器安装好 ubuntu 系统后,进行终端登录,会显示出很多的欢迎消息 通过在用户的根目录下执行 touch .hushlogin 命令,再次登录终端就不会出现欢迎消息 修改hostname显示 修改 /etc/hostname 文件内容为主机名,保…

排序算法——人无完人

没有哪一个排序方法是完美的,对于不同的需求,排序算法各有自己的优势。金无足赤,人无完人。 (这里不再重复所讲排序算法的实现,网上已有很多好的教学。) 排序方法除了依靠时间复杂度和空间复杂度来区分&am…

3D模型可视化引擎HOOPS Visualize在桌面端的支持有哪些特点?

在数字化转型日益加速的今天,工业和工程领域的专业人员面临着越来越复杂的设计和数据分析需求。3D模型可视化技术应运而生,并成为了加速设计和制造流程的关键工具。作为业界领先的3D可视化引擎之一,HOOPS Visualize提供了一系列强大的桌面端支…

傅里叶变换推导

基本模型 假设在二维直角坐标系中,可以用相互垂直的基向量和表示: 假设: 假设在上的投影为,那么: 所以: 用公式表达: 但是在实际中,基向量和不一定长度都是1,重新推导一…

数据科学之数据管理|python for office

现如今,随着计算机的逐渐普及。现代化办公成为每个职场人必备的技能,本文档就来介绍,如何使用pytohn实现自动化办公。然而,自动化办公有时并不能减少工作量。自动化办公更适合批量处理文档。单一的文件,小金不建议使用…

【前端框架】Vue3 中 `setup` 函数的作用和使用方式

在 Vue 3 里,setup 函数是组合式 API 的核心入口,为开发者提供了更灵活、高效的组件逻辑组织方式。以下为你详细介绍其作用和使用方式: 作用 1. 初始化响应式数据 在 setup 函数中,我们能够使用 ref 和 reactive 等函数来创建响…

MySQL无法连接到本地localhost的解决办法2024.11.8

问题描述:我的MySQL可以远程连接服务器,但无法连接自己的localhost。 错误提示: 2003 - Cant connet to MySQL server on localhost(10061 "Unknown error")查找问题原因: 1. 检查环境变量是否正确:发现没…

STM32HAL库快速入门教程——常用外设学习(2)

目录 一、STM32HAL库开发(8)——CubeMX配置DMA 1.1、什么是DMA? 1.2、内存内存之间的传输(单次) ​编辑 1.3、内存外设之间的传输(ADC) 二、STM32HAL库开发(9)——…

LabVIEW与小众设备集成

在LabVIEW开发中,当面临控制如布鲁克OPUS红外光谱仪这类小众专业设备的需求,而厂家虽然提供了配套软件,但由于系统中还需要控制其他设备且不能使用厂商的软件时,必须依赖特定方法通过LabVIEW实现设备的控制。开发过程中&#xff0…

PyQt组态软件 拖拽设计界面测试

PyQt组态软件测试 最近在研究PyQt,尝试写个拖拽设计界面的组态软件,目前实现的功能如下: 支持拖入控件,鼠标拖动控件位置 拖动控件边缘修改控件大小支持属性编辑器,修改当前选中控件的属性 拖动框选控件,点选控件 控…

AI如何与DevOps集成,提升软件质量效能

随着技术的不断演进,DevOps和AI的融合成为推动软件开发质量提升的重要力量。传统的DevOps已经为软件交付速度和可靠性打下了坚实的基础,而随着AI技术的加入,DevOps流程不仅能提升效率,还能在质量保障、缺陷预测、自动化测试等方面…

Mac配置Flutter开发环境

1、访问 Flutter 官网,下载安装Flutter SDK 2、将 Flutter 添加到 PATH 环境变量 找到用户文件夹中的.zshrc隐藏文件(隐藏文件显示方式:shiftcommand.),打开.zshrc文件,添加Flutter SDK路径,注…

Linux系统使用ollama本地安装部署DeepSeekR1 + open-webui

Linux系统使用ollama本地安装部署DeepSeekR1 open-webui 1. 首先,下载安装ollama #下载安装脚本并执行 curl -fsSL https://ollama.com/install.sh | sh #安装完成后查看ollama版本 ollama --version2. 使用ollama下载deepseek #不同的参数规格对硬件有不同的要…

【Kubernetes】常用命令全解析:从入门到实战(中)

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是k8s 2、K8s的核心功能 二、资…

[ComfyUI]腾讯开源黑科技Sonic,插件更新,更加可控啦

一、Sonic更新介绍 大家还记得我前分享过腾讯开源的Sonic这个项目吧,通过照片声音就可以生成非常不错的数字人开口说话的视频。 当时我就挺满意的,不过那时候输出还只能输出正方形的视频,这点就让我留有遗憾。 今天我再去翻作者的项目官网…

设计模式Python版 命令模式(上)

文章目录 前言一、命令模式二、命令模式示例 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组合&…

微服技术栈之Spring could gateway

0 前言 之前使用到的gateway技术栈 ,光靠记忆可能没有记住那么多的,gateway当今比较主流的网关技术栈了。说到gateway,不得不提及Zuul,而Zuul已经被淘汰了。 1 概述 Could全家桶有个很重要的组件就是网关,在1.X版本…

上课啦 | 2月17日软考高项【5月备考班】

相关文章推荐 福利:【软考-电子书】赠送 | 信息系统项目管理师教程 软考证书以考代评评定的职称是什么?聘任步骤? 添加图片注释,不超过 140 字(可选) 软考 高 项 课程:2月17日开课 | 软考-高…