当前位置: 首页 > news >正文

DMA知识

提示:文章

文章目录

  • 前言
  • 一、背景
  • 二、
    • 2.1
    • 2.2
  • 总结

前言

前期疑问:
本文目标:


一、背景

2024年3月26日23:32:43
今天看了DMA存储器到存储器的DMA传输和存储器到外设的DMA实验,在keil仿真可以看到效果。还没有在protues和开发板上实验。先记录下来。

二、

2.1 存储器到存储器

存储器到存储器
代码提交记录:

SHA-1: bea0109310e47971a4869d13784445d9ee96f536
DMA实现存储器到存储器实验

//main.c文件
int main(void)
{	//RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);/* LED 端口初始化 */LED_GPIO_Config();	 //按键初始化函数	gpio_init();//EXTI按键初始化函数bsp_exti_key_gpio_init();bsp_exti_key_nvic_init();bsp_exti_key_exti_init();//RCC初始化RCC_Init();			//USART初始化InitGPIO();InitUsart();		//包含了NVIC中断初始化//USART_Config();//DMA配置,存储器到存储器DMA_Config();char array[15] = "hello world\r\n";while (1){//key_process();	rcc_led_loop();//		for(int i = 0; i < 15; i++)
//		{
//			sendData(array[i]);
//		}
//		//Delay(1000000);printf("hello world\r\n");if(getBufferCmpResult()){printf("result is same!\r\n");}}
}
//打印信息
led_on();
led_off();
hello world
result is same!
led_on();
led_off();
hello world
result is same!
led_on();
led_off();
hello world
result is same!
led_on();
led_off();
hello world
result is same!
led_on();
led_off();
hello world
result is same!
led_on();
led_off();

2.2 存储器到外设

代码提交:

SHA-1: 8632c414141f7dae6c10e9617b1576f59a09d62e
DMA实现存储器到外设数据发送

//main文件
/*** @brief  主函数* @param  无  * @retval 无*/
int main(void)
{	//RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);/* LED 端口初始化 */LED_GPIO_Config();	 //按键初始化函数	gpio_init();//EXTI按键初始化函数bsp_exti_key_gpio_init();bsp_exti_key_nvic_init();bsp_exti_key_exti_init();//RCC初始化RCC_Init();			//USART初始化InitGPIO();InitUsart();		//包含了NVIC中断初始化//USART_Config();//DMA配置,存储器到存储器DMA_Config();/* 配置使用DMA模式 */USARTx_DMA_Config();printf("\r\n USART1 DMA TX 测试 \r\n");int i = 0;/*填充将要发送的数据*/for (i=0; i<SENDBUFF_SIZE; i++){SendBuff[i]  = 'P';}/*为演示DMA持续运行而CPU还能处理其它事情,持续使用DMA发送数据,量非常大,*长时间运行可能会导致电脑端串口调试助手会卡死,鼠标乱飞的情况,*或把DMA配置中的循环模式改为单次模式*//* USART1 向 DMA发出TX请求 */USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);char array[15] = "hello world\r\n";while (1){//key_process();	rcc_led_loop();//		for(int i = 0; i < 15; i++)
//		{
//			sendData(array[i]);
//		}
//		//Delay(1000000);printf("hello world\r\n");if(getBufferCmpResult()){printf("result is same!\r\n");}}
}

keil仿真实验效果
在这里插入图片描述

三、

3.1


总结

未完待续

相关文章:

DMA知识

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 2024年3月26日23:32:43 今天看了DMA存储器到存储器的DMA传输和存储器到外设的DMA实验&#xff0c;在keil仿真可以看到效果。还没有在protues和开发…...

Linux 系统 docker快速搭建PHP环境

PHP安装 ############################################################################# 1、直接拉取官方镜像 查找Docker Hub上的php镜像 docker search php 直接拉取官方镜像 docker run --name myphp --restartalways --network lnmp -d php:7.1-fpm 2、创建php容…...

逻辑设计问题 -- 设计一个函数

文章目录 设计一个函数函数接口规格说明运算符或者非运算符自由或成员运算符虚函数或非虚函数纯虚函数或者非纯虚函数静态或者非静态成员函数const 成员函数或者非const成员函数公共的、保护的或者私有的成员函数通过值、引用或者指针返回返回const 或者非const可选参数或者必要…...

RHCE 补充:判断服务状态

内容补充&#xff1a;判断服务状态 systemctl 命令 系统控制管理命令工具 常用指令 1、启动 systemctl start 程序名 若要启动多个程序名&#xff0c;使用空格隔开&#xff0c;下同 2、重启&#xff1a;类似主机先断电再启动的一个状态 systemctl restart 程序名 3、停…...

计算机网络:物理层 - 编码与调制

计算机网络&#xff1a;物理层 - 编码与调制 基本概念编码不归零制编码归零制编码曼彻斯特编码差分曼彻斯特编码 调制调幅调频调相混合调制 基本概念 在计算机网络中&#xff0c;计算机需要处理和传输用户的文字、图片、音频和视频&#xff0c;他们可以统称为消息数据&#xf…...

《量子计算:揭开未来科技新篇章》

随着科技的不断发展&#xff0c;量子计算作为一项颠覆性的技术逐渐走进人们的视野&#xff0c;引发了广泛的关注和探讨。本文将围绕量子计算的技术进展、技术原理、行业应用案例、未来趋势预测以及学习路线等方向&#xff0c;深入探讨这一领域的前沿动态和未来发展趋势。 量子…...

机器人机械手加装SycoTec 4060 ER-S电主轴高精密铣削加工

随着科技的不断发展&#xff0c;机器人技术正逐渐渗透到各个领域&#xff0c;展现出前所未有的潜力和应用价值。作为机器人技术的核心组成部分之一&#xff0c;机器人机械手以其高精度、高效率和高稳定性的优势&#xff0c;在机械加工、装配、检测等领域中发挥着举足轻重的作用…...

docker 共享内存不足问题

在启动容器时增加共享内存大小&#xff1a; 您可以通过在docker run命令中添加--shm-size参数来指定更大的共享内存大小。例如&#xff0c;如果您需要32GB的共享内存&#xff0c;可以这样做&#xff1a; docker run --shm-size32g -it your-docker-image 这里的your-docker-im…...

英语口语 3.27

keep It straight :竖着放 turn it to the side:横过来放 i get my shit done:shit(everything)任何事情 我都会去做的 that‘s what’s up 可以的可以的 thats cool zodiac sign :生肖 座 i sense that :我感受到了 talent”艺人 influencer&#xff1a;有影响力的人 …...

pytest之统一接口请求封装

pytest之统一接口请求封装 pytest的requests_util.pyrequests_util.py 接口自动化测试框架的封装yaml文件如何实现接口关联封装yaml文件如何实现动态参数的处理yaml文件如何实现文件上传有参数化时候&#xff0c;怎么实现断言yaml的数据量大怎么处理接口自动化框架的扩展&#…...

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用 概念如何设置 registry&#xff08;包管理仓库&#xff09;1. 设置项目配置文件2. 设置用户配置文件3. 设置全局配置文件4. .npmrc文件可以配置的常见选项 概念 npm&#xff08;Node Package Manager&#xff09;是一个Node.js的…...

Netty源码剖析——ChannelHandlerContext 篇(三十七)

ChannelHandlerContext 作用及设计 ChannelHandlerContext 继承了出站方法调用接口和入站方法调用接口 ChannelOutboundInvoker 和 ChannelInboundInvoker 部分源码 这两个invoker就是针对入站或出站方法来的&#xff0c;就是在入站或出站 handler 的外层再包装一层&#xff0c…...

5.92 BCC工具之bitesize.py解读

一,工具简介 bitesize工具按进程名称显示请求块大小的I/O分布。 它通过监视磁盘上的读取和写入操作,记录每个操作的大小。再将跟踪到的 I/O 操作按照大小分组,通常是以 2 的幂次方(如 4K、8K、16K 等)进行划分,并统计每个大小范围内的 I/O 操作数量。 二,代码示例 #…...

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时&#xff0c;因为报错信息&#xff0c;需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…...

压力测试(QPS)及测试工具Locust

压力测试&#xff1a; 通常指的是确定接口或服务能够处理的最大请求量&#xff08;吞吐量&#xff09;和并发用户数&#xff0c;同时保持合理的响应时间和稳定性。 性能目标 最大吞吐量&#xff1a;系统每秒可以处理的请求数。最大并发用户数&#xff1a;系统可以同时支持的…...

canal: 连接kafka (docker)

一、确保mysql binlog开启并使用ROW作为日志格式 docker 启动mysql 5.7配置文件 my.cnf [mysqld] log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server-id1一定要确保上述两个值一个为ROW&#xff0c;一个为ON 二、下载canal的run.sh https://github.c…...

45 对接海康视频九宫格的实现

前言 这里主要是 来看一下 海康视频 的一个九宫格播放的需求 然后 在实际使用的过程中产生了一些问题, 比如 增加一个视频, 应该只增量请求这一个视频的服务, 而一些实现下是全量请求了 整个视频列表的服务 另外 就是全屏播放, 如果是 自己写样式来实现 全屏播放, 可能需要 …...

二-容量管理之容量水位

容量水位概念 容量水位(Capacity Level)是指一个系统或服务所使用资源的程度、范围和可承受能力,通常以百分比表示。在容量管理中,容量水位是非常重要的指标,用于衡量系统或服务的健康状况、资源利用率以及未来容量需求。 容量水位通常是根据一些关键指标进行计算,例如…...

计算机网络——数据链路层(差错控制)

计算机网络——数据链路层&#xff08;差错控制&#xff09; 差错从何而来数据链路层的差错控制检错编码奇偶校验码循环冗余校验&#xff08;CRC&#xff09;FCS 纠错编码海明码海明距离纠错流程确定校验码的位数r确定校验码和数据位置 求出校验码的值检错并纠错 我们今年天来继…...

【搜索引擎1】Ubuntu通过deb方式安装ElasticSearch和Kibana、ik中文分词插件

1、官网下载文件 版本为官网最新版本&#xff0c;ElasticSearch与Kibana版本必须保持一致 ElasticSearch下载地址&#xff1a;Download Elasticsearch | Elastic Kibana下载地址&#xff1a;Past Releases of Elastic Stack Software | Elastic 下载选择DEB文件 ik插件下载…...

5步完成黑苹果配置:OpCore Simplify终极简化指南 [特殊字符]

5步完成黑苹果配置&#xff1a;OpCore Simplify终极简化指南 &#x1f680; 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置…...

Seraphine:基于LCU API的英雄联盟智能助手技术解析

Seraphine&#xff1a;基于LCU API的英雄联盟智能助手技术解析 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能游戏辅助工具&#xff0c;专为英雄联盟玩家提…...

Lindy元数据驱动自动化:如何用1个Schema定义自动生成8类分析任务+监控看板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy元数据驱动自动化&#xff1a;核心理念与架构全景 Lindy元数据驱动自动化并非传统脚本编排的增强版&#xff0c;而是一种以“元数据即契约”为哲学基础的系统性范式。其核心理念在于&#xff1a;…...

构建AI模型实时反馈回路:从概念漂移到持续进化

1. 项目概述&#xff1a;当AI模型不再“一锤定音”&#xff0c;而是持续呼吸、自我校准你有没有遇到过这样的情况&#xff1a;一个花了三个月调优的推荐模型&#xff0c;上线首周点击率提升12%&#xff0c;第二周开始缓慢下滑&#xff0c;到第四周几乎回到基线水平&#xff1f;…...

零售业的AI Agent:个性化推荐与库存管理

从零落地零售业AI Agent:打通个性化推荐与智能库存管理的全链路实践 副标题:技术栈:LangChain + 向量数据库 + 时序预测 + 多Agent协同,降本提效30%+的可落地方案 第一部分:引言与基础 1.1 摘要/引言 不知道你有没有过这样的体验:刚在电商平台买了一罐婴儿奶粉,接下来…...

华硕笔记本性能控制革命:G-Helper轻量级优化工具深度评测与实战指南

华硕笔记本性能控制革命&#xff1a;G-Helper轻量级优化工具深度评测与实战指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook…...

Keil A51汇编器INCDIR参数分隔符问题解析

1. 问题现象与背景解析 最近在使用Keil C51开发工具链中的A51汇编器时&#xff0c;遇到了一个看似简单却令人困惑的报错。当执行以下命令时&#xff1a; A51 ASAMPLE.A51 PRINT(ASAMPLE.LST) INCDIR(H1;H2)系统抛出了致命错误&#xff1a; A51 FATAL ERROR -LINE: C:…...

[模型解析] GPT: 模型演进分析从GPT-3到GPT-5.5

GPT 模型演进分析&#xff1a;从 GPT-3 到 GPT-5.5 OpenAI 的 GPT 系列模型在过去几年经历了快速演进&#xff0c;从 2020 年的 GPT-3 到 2026 年的 GPT-5.5&#xff0c;每一次迭代都带来了显著的能力提升和架构创新。本文将系统分析 GPT 模型的演进路径与技术特点。 一、GPT 模…...

2026电动车趋势:智驾与电池深度融合

2026年电动汽车&#xff08;EV&#xff09;发展趋势全景分析 2026年的全球电动汽车产业将迈入一个技术加速融合、市场竞争白热化与商业模式深度创新的关键阶段。其发展趋势可解构为核心技术突破、市场格局演变、供应链重塑及政策生态协同四个维度。以下结合具体数据、案例和技…...

英雄联盟智能助手Seraphine:如何用Python让游戏数据成为你的制胜法宝?

英雄联盟智能助手Seraphine&#xff1a;如何用Python让游戏数据成为你的制胜法宝&#xff1f; 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 还在为排位赛中的信息不对称而苦恼吗&#xff1f;每次进入BP阶段…...