stm32f的定时器 GPIO DMA的相关事情
我的相关问题就是这样的:
MSP_INIT:
if(htim_base->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspInit 0 */
/* USER CODE END TIM1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM1_CLK_ENABLE();
/* TIM1 DMA Init */
/* TIM1_UP Init */
hdma_tim1_up.Instance = DMA2_Stream5;
hdma_tim1_up.Init.Channel = DMA_CHANNEL_6;
hdma_tim1_up.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_tim1_up.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_tim1_up.Init.MemInc = DMA_MINC_ENABLE;
hdma_tim1_up.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_tim1_up.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_tim1_up.Init.Mode = DMA_CIRCULAR;
hdma_tim1_up.Init.Priority = DMA_PRIORITY_MEDIUM;
hdma_tim1_up.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_tim1_up) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(htim_base,hdma[TIM_DMA_ID_UPDATE],hdma_tim1_up);
/* USER CODE BEGIN TIM1_MspInit 1 */
/* USER CODE END TIM1_MspInit 1 */
}
主程序中调用,
HAL_DMA_Start(&hdma_tim1_up, (GPIOA_BASE + 0x10), (uint32_t)GPIO_IN_DMA, sizeof(GPIO_IN_DMA));
__HAL_TIM_ENABLE_DMA(&htim1, TIM_DMA_UPDATE);
HAL_TIM_Base_Start(&htim1);
中断程序 :
void DMA2_Stream5_IRQHandler(void)
{
HAL_DMA_IRQHandler(&hdma_tim1_up);
}
最重要的事情是 STM32F4的2个DMA,只有DMA2才可以在源和目的之间访问所有的外设和内存
转载于:https://www.cnblogs.com/kingtiger88/p/11072953.html
stm32f的定时器 GPIO DMA的相关事情相关推荐
- STM32定时器触发DMA循环完成数据搬运
通过TIM8的事件触发DMA,从内存中的地址搬运数据到外设的寄存器,例子中的中断部分可以关闭,与功能无关,仅为测试时观察方便. 定时器每产生一次事件(本文以UPDATE为例,CC等其他事件也可实现), ...
- DMA PL330相关总结
目录 一.DMA的介绍 二.PL330简述 三.工作原理 3.1 工作过程 3.2 传送的方式 四.PL330指令集 4.1 DMAMOV 4.2 DMALD 4.3 DMAST 4.4 DMARMB ...
- STC89c52定时器的使用以及相关案例
定时器 使用 STC89c52 来示例 简介 C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器或者计数器使用. 确切的说,定时器和计数器区别是致使他们背后的计数 ...
- gpio控制和相关操作
一.gpio基础信息 现在总结下GPIO口的八种工作状态,其中四种输入状态,四种输出状态 参考:GPIO口的八种工作状态_沙漠那点绿的博客-CSDN博客_gpio三种状态 输入: 1 上拉输入:默认情 ...
- 【方法】STM32F103C8单片机通过定时器DMA测量脉冲宽度,无需CPU干预(以DHT11传感器为例)
STM32F1系列的定时器中有DMA Burst Feature,配合参考手册上所讲的PWM输入模式,可以全自动地测量一组脉冲的宽度,期间CPU可做其他的事情. DHT11传感器是单总线器件,主机端发 ...
- dma和通道的区别_STM32 定时器触发 ADC 多通道采集,DMA搬运至内存
引言 ADC 的功能是将模拟信号采样得到数字信号,而有些时候,我们需要使用到定时采样,比如在计算一个采集的波形的频率的时候,我们需要精确的知道采样频率,也就是 1 s 内采集的点数,这个时候,就需要使 ...
- STM32F407 ADC+DMA+定时器 定时采样模拟量
STM32F407 ADC+DMA+定时器 定时采样模拟量 文章目录 STM32F407 ADC+DMA+定时器 定时采样模拟量 前言 一.硬件原理 1.1 ADC 1.2 定时器 3. DMA 二. ...
- STM32学习1之ADC+DMA(使用定时器触发)
笔者之前用STM32的ADC外设通过DMA通道来传输数据,通常有两种方法,一个是直接通过DMA通道传输数据,二是通过定时器触发.相较而言,后者在实际中比较常使用,因为ADC读取传感器数据需要一段时间, ...
- Linux内核深入理解定时器和时间管理(7):相关的系统调用
Linux内核深入理解定时器和时间管理 相关的系统调用 rtoax 2021年3月 在原文基础上,增加5.10.13内核源码相关内容. 结构体 ---------------------------- ...
最新文章
- 基于jQuery 2.0的源代码分析
- Android技能树 — 树基础知识小结(一)
- 深入理解计算机系统 第三章笔记,《深入理解计算机系统》笔记.PDF
- cxGrid功能_用于备查【转】
- codeforces1208 F. Bits And Pieces(SOS DP)
- configurationproperties_【Springboot】注解@ConfigurationProperties让配置整齐而简单
- 在存储过程中编写正确的事务处理代码
- .NET、ASP.NET控件及源码大汇总 最新最全哦
- 博客V7之后,喜庆排名进入2000之内
- 回归分析beta值的标准_标准回归系数引用
- 一款完整开源的物联网基础平台
- [黑群晖经典教程] 一步一步建立自己的黑群晖
- 记录用matlab APP中matlab coder的简单步骤
- PyQt5_Demo5
- Windows的NSIS ERROR
- 不良贷款催收之技巧和策略
- 计算机中文输入法教案,输入汉字的学习
- [矩阵论] Unit 3. 矩阵的分解 - 知识点整理
- BERT 的 PyTorch 实现(超详细)
- scp 命令详解 ------ 远程复制
热门文章
- [USACO4.4]追查坏牛奶Pollutant Control
- SUN JAVA认证介绍
- 2018-06-06-markdown-推荐markdown编辑器
- 【云星数据---mesos实战系列002】:mesos全分布式部署实战009--修改marathon的默认端口
- 《惢客创业日记》2021.08.12-17(周四)惢客与互联网巨头的区别
- 飞腾CPU体系结构(五)
- EXCEL的IF+MID函数结合找出班级信息
- 会声会影 Corel VideoStudio Ultimate 2023 v26.0.0.136 旗舰版百度网盘免费下载
- 全网最详细中英文ChatGPT-API文档(一)开始使用ChatGPT——导言
- linux跟踪内存检测原理,wooyun/Linux下基于内存分析的Rootkit检测方法.html at master · exitmsconfig/wooyun · GitHub...