STM32学习笔记(八)--DMA直接存储器存取详解

(1)配置步骤
1.配置RCC外设时钟 开启DMA外设
2.初始化DMA外设 调用DMA_Init 外设存储器站点的起始地址 数据宽度 地址是否自增 方向 传输计数器 是否需要自动重装 选择触发源 通道优先级
3.开启DMA控制
4.开启触发信号输出(如果需要硬件触发)
5.开启中断输出(如果需要DMA中断)

(2)代码示例
案例1  ADC1单通道 PA0单通道模拟输入实例

uint16_t MyDMA_Size;
void MyDMA_Init(uint32_t AddrA, uint32_t AddrB, uint16_t Size)
{
MyDMA_Size = Size;
//开启DMA1外设时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
DMA_InitTypeDef DMA_InitStructure;
//外设站点起始地址 数据宽度 地址是否自增
DMA_InitStructure.DMA_PeripheralBaseAddr = AddrA;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;
//存储器站点起始地址 数据宽度 地址是否自增
DMA_InitStructure.DMA_MemoryBaseAddr = AddrB;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//传输方向
DMA_InitStructure.DMA_BufferSize = Size;//缓存区大小 传输计数器
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;//传输模式 是否使用自动重装
DMA_InitStructure.DMA_M2M = DMA_M2M_Enable;//硬件触发\软件触发
DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;//优先级
DMA_Init(DMA1_Channel1, &DMA_InitStructure);
//DMA1(1--7)、DMA2(1--5) 
DMA_Cmd(DMA1_Channel1, DISABLE);
}
void MyDMA_Transfer(void)
{
//每当要重新获取一次DMA数据的时候 可以调用下面的函数DMA_Cmd(DMA1_Channel1, DISABLE);//失能DMA_SetCurrDataCounter(DMA1_Channel1, MyDMA_Size);//重新存放DMA_Cmd(DMA1_Channel1, ENABLE);//使能while (DMA_GetFlagStatus(DMA1_FLAG_TC1) == RESET);//判断转运成功与否DMA_ClearFlag(DMA1_FLAG_TC1);//标志位清除
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29524.shtml

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

相关文章

在线报表设计器 ,FastReport Online Designer 2024.2新版本(下)

在上篇文章《在线报表设计器 ,FastReport Online Designer 2024.2新版本(上) 》中,我们已经介绍了部分在线设计器的新功能,这部分将继续为大家介绍其他新功能,欢迎查阅~ 报告设计器中的功能进行了大规模更…

对input输入框的正则限制

一、0-100的整数 正则&#xff1a; const inputRules ref([{required: false,trigger: "blur",validator: (rule, value, callback) > {const reg /^[0-9]$/; // 只允许整数if ((0 < value && value < 100 && reg.test(value)) ||valu…

AI时代的数据治理:挑战与策略

随着人工智能&#xff08;AI&#xff09;技术的突飞猛进&#xff0c;我们已迈进智能时代的大门。在这个新时代里&#xff0c;数据无疑成为推动AI创新与进步的核心力量。然而&#xff0c;与此同时&#xff0c;数据治理的紧迫性也日益凸显&#xff0c;它成为确保AI系统有效、公正…

【STM32】GPIO简介

1.GPIO简介 GPIO是通用输入输出端口的简称&#xff0c;简单来说就是STM32可控制的引脚&#xff0c;STM32芯片的GPIO引脚与外部设备连接起来&#xff0c;从而实现与外部通讯、控制以及数据采集的功能。 STM32芯片的GPIO被分成很多组&#xff0c;每组有16个引脚。 最基本的输出…

SQL聚合函数---汇总数据

此篇文章内容均来自与mysql必知必会教材&#xff0c;后期有衍生会继续更新、补充知识体系结构 文章目录 SQL聚集函数表&#xff1a;AGV()count()根据需求可以进行组合处理 max()min()max&#xff08;&#xff09;、min&#xff08;&#xff09;、avg&#xff08;&#xff09;组…

奔驰EQS SUV升级增强现实AR抬头显示HUD香氛系统

增强AR实景抬头显示HUD&#xff08;Augmented Reality Head-Up Display&#xff09;是一种更高级的驾驶辅助技术&#xff0c;相比于普通抬头显示HUD&#xff0c;它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能&#xff1a; • 信息呈现方式&am…

RFID期末复习 | 防碰撞算法 | 信源编码 | 差错控制 | 系统调制 | S50卡 | 无源标签 | 工作频率 | 自动识别

防碰撞算法 ALOHA算法 ALOHA算法是一种随机接入方法&#xff0c;其基本思想是采取标签先发言的方式&#xff0c;当标签进入读写器的识别区域内时就自动向读写器发送其自身的ID号&#xff0c;在标签发送数据的过程中&#xff0c;若有其他标签也在发送数据&#xff0c;将会发生…

【K8s】专题五(4):Kubernetes 配置之 ConfigMap 与 Secret 使用

以下内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01;如果对您有帮助&#xff0c;烦请点赞、关注、转发&#xff01;欢迎扫码关注个人公众号&#xff01; 目录 一、ConfigMap 使用方式 1、注入环境变量 2、挂载配置文件 二、Secret 使用方式 1、注入…

计算机毕业设计Python+Flask弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 人工智能 NLP文本分类 数据可视化 大数据毕业设计

首先安装需要的python库&#xff0c; 安装完之后利用navicat导入数据库文件bili100.sql到mysql中&#xff0c; 再在pycharm编译器中连接mysql数据库&#xff0c;并在设置文件中将密码修改成你的数据库密码。最后运行app.py&#xff0c;打开链接&#xff0c;即可运行。 B站爬虫数…

大学物理实验分析

终于整理完了 测量误差分类 天平未校准引起的误差 天平设计、制造、使用或环境因素引起偏差属于系统误差应定期校准天平 游标卡尺测量物体长度 读取主尺整毫米数读取副尺小数部分相加得出测量结果记录测量结果时保留适当小数位数可通过多次测量取平均值提高精确度注明单位…

防泄密解决方案

防泄密解决方案是一个系统性的策略&#xff0c;旨在保护敏感信息不被非法获取、泄露或滥用。以下是一个结构清晰、分点表示的防泄密解决方案&#xff0c;结合了参考文章中的关键信息和建议&#xff1a; 一、策略制定与政策明确 明确数据分类&#xff1a;将数据分为公开、内部…

私有化地图离线部署方案之基础地图服务

私有化地图离线部署整体解决方案&#xff0c;除硬件之外&#xff0c;一般主要由基础地图服务、地理逆编码服务、离线路径规划服务和海拔高程检索服务构成。 现在先为你分享基础地图服务&#xff0c;它是私有化地图离线部署的基础。 基础地图服务 基础地图服务是私有化离线部…

06文件和文件夹的操作

授课进程 一、文件操作 在操作的时候尽量选择Linux下面的/opt目录 使用ls -l 命令&#xff0c;相对简化的命令ll 在Linux中&#xff0c;ls -l是一个常用的命令&#xff0c;用于列出文件和目录的详细信息。下面是ls -l命令的一些常见选项和输出示例&#xff1a; ​ - 使用ls -…

SQL Server入门-SSMS简单使用(2008R2版)-2

环境&#xff1a; win10&#xff0c;SQL Server 2008 R2 参考&#xff1a; SQL Server 管理套件&#xff08;SSMS&#xff09;_w3cschool https://www.w3cschool.cn/sqlserver/sqlserver-oe8928ks.html SQL Server存储过程_w3cschool https://www.w3cschool.cn/sqlserver/sql…

2025年计算机毕业设计题目参考-简单容易

2025年最新计算机毕业设计题目参考-第二批 以下可以参考 企业员工薪酬关系系统的设计 基于SpringBoot在线远程考试系统 SpringBootVue的乡政府管理系统 springboot青年公寓服务平台 springboot大学生就业需求分析系统 基于Spring Boot的疗养院管理系统 基于SpringBoot的房屋交…

vue3实现div盒子的内容hover上去时样式改变及部分元素的显隐

样式&#xff1a; hover后的样式&#xff1a; 整体盒子的背景颜色发生了改变&#xff0c;盒子内边距发生了改变&#xff0c;右下侧的箭头出现 实现方式&#xff1a; 利用mouseover和mouseout并结合css样式实现 template中&#xff1a; <divclass"new-item"v-f…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测

13Kaggle竞赛&#xff1a;2020加州房价预测 # 导入所需的库 import numpy as np import pandas as pd import torch import hashlib import os import tarfile import zipfile import requests from torch import nn from d2l import torch as d2l# 读取训练和测试数据 train_…

电脑数据恢复,掌握4个方法,恢复数据很简单!

在数字化浪潮席卷全球的今天&#xff0c;电脑数据已成为我们生活与工作中不可或缺的一部分。然而&#xff0c;当这些数据因各种原因意外丢失或损坏时&#xff0c;那种失落与无助的感觉常常令人倍感焦虑。 想象一下&#xff0c;你正在为一项重要项目加班加点&#xff0c;突然电…

家用洗地机哪个牌子的质量最好最耐用?四款出色机型推荐

在清洁家电市场迅猛发展的今天&#xff0c;洗地机深度清洁效果和高效便捷性&#xff0c;成为家庭地面清洁的首选。然而&#xff0c;随着洗地机的普及&#xff0c;各大家电品牌纷纷推出洗地机产品&#xff0c;竞争日益激烈。那么&#xff0c;如何在众多洗地机中&#xff0c;挑选…

30. 光纤耦合器

导论&#xff1a; 物理光学传播&#xff08;POP&#xff09;可用于计算光纤耦合效率。 设计流程&#xff1a; 光束建模和聚焦 在系统选项中选择系统孔径&#xff0c;在系统孔径下选择“入瞳直径”&#xff0c;并输入“4”。 设置0视场&#xff0c;选择角度。 加入1um波长。…