STM32定时器同步功能2
STM32定时器同步功能2:用一个定时使能另外一个定时器
测试芯片:STM32L151C8T6
代码库:LL库
/*** 说明 : 主定时器初始化,用来控制从定时器* 参数 : 无* 返回 : 无*/
void Master_Timer_Init(void)
{LL_TIM_InitTypeDef TIM_InitStruct = {0};LL_TIM_OC_InitTypeDef TIM_OC_InitStruct = {0}; LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3); /** 定时器时基配置(单独调用各个配置函数) */LL_TIM_SetAutoReload(TIM3, 1000);LL_TIM_SetPrescaler(TIM3, 31);LL_TIM_SetCounterMode(TIM3, LL_TIM_COUNTERMODE_UP);LL_TIM_EnableARRPreload(TIM3);LL_TIM_SetClockSource(TIM3, LL_TIM_CLOCKSOURCE_INTERNAL);/** 将定时器更新事件作为触发源输出 */LL_TIM_SetTriggerOutput(TIM3, LL_TIM_TRGO_UPDATE);LL_TIM_DisableMasterSlaveMode(TIM3);}/*** 说明 : 从定时器* 参数 : 无* 返回 : 无*/
void Slave_Timer_Init(void)
{LL_TIM_InitTypeDef TIM_InitStruct = {0};LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);/** 定时器时基配置 */TIM_InitStruct.Prescaler = 31;TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;TIM_InitStruct.Autoreload = 99;TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;LL_TIM_Init(TIM2, &TIM_InitStruct);LL_TIM_EnableARRPreload(TIM2);LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL);/** 触发模式 */LL_TIM_SetSlaveMode(TIM2, LL_TIM_SLAVEMODE_TRIGGER);LL_TIM_SetTriggerInput(TIM2, LL_TIM_TS_ITR2); /** 和主定时器绑定 */LL_TIM_EnableMasterSlaveMode(TIM2); /** 从模式使能 *//** 配置中断 */LL_TIM_EnableIT_TRIG(TIM2);LL_TIM_EnableIT_UPDATE(TIM2);NVIC_EnableIRQ(TIM2_IRQn); NVIC_SetPriority(TIM2_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), 1, 0));}/*** 说明 : 使能定时器* 参数 : 无* 返回 : 无*/
void Start_Timer(void)
{LL_TIM_EnableCounter(TIM3);
}
实验结果:
初始化主从定时器后,此时TIM2, TIM3都没有运行,当调用函数Start_Timer后TIM3开始运行,当TIM3产生了更新中断后,TIM2开始运行。此时停止TIM3不会影响TIM2运行,要想停止TIM2必须向TIM2_CR1 寄
STM32定时器同步功能2相关推荐
- STM32定时器同步功能1
STM32定时器同步功能1:将一个定时器用作另一个定时器的预分频器 测试程序说明: 测试芯片为STM32L151C8T6, 程序库使用的是LL库 用TIM3为主定时器,产生更新事件,并产生触发输出(T ...
- STM32定时器间的同步 主TIM1产生PWM 从TIM4精确控制TIM1 PWM脉冲数量
STM32 定时器间的同步 主TIM1产生PWM 从TIM4精确控制TIM1 PWM脉冲数量 文章目录 STM32 定时器间的同步 主TIM1产生PWM 从TIM4精确控制TIM1 PWM脉冲数量 编 ...
- 利用STM32的定时器中断功能编写线阵CCD(ILX554B)的驱动时序
利用STM32的定时器中断功能编写线阵CCD(ILX554B)的驱动时序 1.利用定时器完成线阵CCDILX554B的驱动时序,采用两个管脚1个用于产生ROG信号,一个用于产生CLK信号 2.使用一个 ...
- STM32定时器功能概括
定时器分类 不同的芯片定时器的个数也是不同的,以STM32F103ZE有8个定时器(定时器的具体个数查相关手册). 定时器的分类:高级定时器.通用定时器.基本定时器,这3类定时器的功能各不相同. 定时 ...
- STM32 - 定时器高级应用说明 - 多触波的实现 (N-pulse waveform generation using timer synchronization)- 01
前言: 如何实现复杂的不同频率.相位.波形脉宽的波形就在这个章节: This application example is split into two parts describing two si ...
- 硬件课程设计:基于STM32的多功能播放器之小说阅读
1 小说阅读功能 1.1 功能介绍 1.1.1 设计思路 在TFTLCD屏上显示中英文文本文件是本次硬件课程设计的基本要求,也是我设计的多功能播放器最重要的功能,要求能够读取事先存储在SD卡中的文本文 ...
- STM32定时器配置(TIM1、TIM2、TIM3、TIM4、TIM5、TIM8)高级定时器+普通定时器,定时计数模式下总结
STM32定时器配置(TIM1.TIM2.TIM3.TIM4.TIM5.TIM8)高级定时器+普通定时器,定时计数模式下总结 文章结构: --> 一.定时器基本介绍 --> 二.普通定时器 ...
- STM32定时器实现5秒周期串口通信,2秒LED灯闪烁
文章目录 前言 一.定时器Timer 1.定时器定义 2.定时器分类 3.计数器模式 4.时钟产生器和时基单元 5.工作原理 二.实验步骤 1.用STM32CubeMx创建项目 1.1 创建项目 1. ...
- STM32定时器-基本定时器
STM32定时器-基本定时器 实验芯片:STM32F103 更新日期:2021年8月17日 声明:部分图文来自互联网公开资料,转载注明出处 一.基本定时器简介 TIM6和TIM7是一个16位向上递增的 ...
最新文章
- 自己建服务器 语音盒子_如何自己搭建一个服务器?
- c++邮递员投递经过特定点_厉害了斑马鱼,动物实验体天团C位
- 网络爬虫--13.数据提取之JSON与JsonPATH
- Slog29_支配vue框架初阶项目之博客网站-注册页面-单选按钮
- pytorch学习笔记(二十七):Batch-Norm
- 架构师到底是啥玩意?
- CentOS _ RHEL 防止Kernel升级
- python---之打印日志logging
- 台大李宏毅2017机器学习国语课程(更新)
- 测试用例设计方法-正交试验常用正交表
- ubuntu20 系统 Apache+花生壳(内网穿透)服务项目上线
- Android蓝牙自动配对和Pin码设置
- 个人征信要良好,申请信用卡需注意哪些事项?
- umail for linux,U-Mail邮件系统 for CentOS(6.X) x64
- 01-ECAM、发展史、JS值、编程语言、变量
- life: zz 关于爱情
- java生成二维码,全过程,不要积分
- 单个实体内部和三个实体内部之间的关系
- 初识对象,对象的创建以及方法的定义规则
- 港科百创|北京决赛成功举办!“香港科大-杰瑞集团”2022【人工智能】百万奖金国际创业大赛决赛成功举办!...