STM32F1主从定时器设置
将定时器3做为定时器2 的时钟输入,可用定时器2的值作为定时器3的中断次数、PWM方波个数等
定时器3作为主定时器,需要配置更新事件作为从定时器的预分频器,另外需将定时器3作为主模式运行,置位从模式控制寄存器(TIMx_SMCR)中的第7位。
定时器2作为从定时器,需要设置从模式控制寄存器(TIMx_SMCR)中的TS位为010,
#include "timer.h"
#include "led.h"
/*使用正点原子模板例程改编使用定时器3作为主定时器,定时器2作为从定时器PB5指定为LED输出,观察定时器运行情况
*/
void TIM2_Slave_Init(u16 period,u16 prescaler)
{TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能//定时器TIM2初始化TIM_TimeBaseStructure.TIM_Period = period-1; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler =prescaler-1; //设置用来作为TIMx时钟频率除数的预分频值TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位TIM_SelectInputTrigger(TIM2,TIM_TS_ITR2); //选择TIMx输入触发源 TIM_SelectSlaveMode(TIM2,TIM_SlaveMode_External1); //选中触发( TRGI)的上升沿作为计数器时钟NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM2中断,允许更新中断TIM_Cmd(TIM2, ENABLE); //使能TIMx
}void TIM2_IRQHandler(void) //TIM3中断
{if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET){TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除TIMx更新中断标志 LED1 = !LED1;}
}void TIM3_Init(u16 period,u16 prescaler)
{TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能//定时器TIM3初始化TIM_TimeBaseStructure.TIM_Period = period-1; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler =prescaler-1; //设置用来作为TIMx时钟频率除数的预分频值TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);//主定时器模式TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update); //主定时器更新事件作为从定时器时钟源TIM_ITConfig(TIM3,TIM_IT_Update,DISABLE ); //使能指定的TIM3中断,允许更新中断TIM_Cmd(TIM3, ENABLE); //使能TIMx
}
定时器源码见本链接,使用MDK5.18,单片机是STM32F103RET6
源码链接
STM32F1主从定时器设置相关推荐
- 【STM32学习】(10)STM32F1通用定时器实现脉冲计数器
STM32F1通用定时器实现脉冲计数器 通过TIM3实现定时,我设计的一秒计数一次,然后在数码管(光阳极)上显示.数码不仅记录脉冲,还可以通过按键来调节: 按键1 清零 按键2加一 按键3减一 按键4 ...
- mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置
最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...
- html倒计时timer,JavaScript定时器设置、使用与倒计时案例详解
本文实例讲述了JavaScript定时器设置.使用与倒计时案例.分享给大家供大家参考,具体如下: 1.设置定时器 定时器,适用于定时执行的任务中.在BOM的window对象中,有这样的两个函数是用于设 ...
- DNS基础:域名解析、多重域名解析、特殊域名解析、主从同步设置
DNS基础:域名解析.多重域名解析.特殊域名解析.主从同步设置 作者:卖兔子的萝北 分类:学习笔记 虚拟机A ip:192.168.4.7 虚拟机B ip:192.168.4.207 一.域名解析 1 ...
- nRF51822定时器设置
一.nRF51822的时钟系统 nRF51822有两种时钟源:1.高频时钟HFCLK:2.低频时钟LFCLK.这两种时钟只有当系统处于System ON模式的情况下才可用. 低频时钟源 系统有三种低频 ...
- 关于jquery定时器设置问题 ios定时器无法响应问题 ios 时间显示为NaN问题 优惠时间倒计时
设计时间为:"2019-12-17"发现安卓端和浏览器端,浏览器模拟器显示均没问题,但是ios 手机显示为NaN 解决办法 :把"2019-12-17"改为&q ...
- Floquet port激励及主从边界设置
相控阵天线建模,请参照李明洋的<HFSS电磁仿真设计应用详解>中阵列天线分析一章 Floquet port激励及主从边界设置 1.Floquet port简介 2.基本模型建立 3.主从边 ...
- mysql设置主从同步只读_MySql主从同步设置
主MySql服务器A:192.168.1.3 从MySql服务器B:192.168.1.4 1.编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 log-bin=mysq ...
- 51单片机c语言定时器程序,51单片机定时器设置入门与程序解析
89C51单片机有两个计数器T0和T1,每个计数器都是由两个8位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数容量是216=65536,记住是从0-65535. 其次.提供给定时器 ...
- 关于STM32的定时器设置
1.定义RCC时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 2.定义时钟触发 TIM_TimeBaseInit(TIM2, & ...
最新文章
- 无线网络连接一直显示“正在获取网络地址”的解决办法
- 美国计算机专业录取率,美国留学高录取率院校计算机专业申请条件是什么? 爱问知识人...
- asp.net用Zxing库实现条形码输出
- Android Studio 找不到EventBus/ButterKnife等第三方包解决方案
- 桥接模式下的手机-电脑-开发板连接
- 程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序
- live2dviewer android,live2dviewerex安卓版
- 寻找必败态——一类博弈问题的快速解法
- python列表定义和操作_Python 列表的定义及操作
- Oracle 字符集
- 计算学生成绩 c语言,c语言项目实战2学生成绩的输入与计算.ppt
- RTI_DDS自定义插件开发 2 NDDS传输插件API
- 怎么查看电脑开关机时间记录
- 向日葵在mac不能以服务器运行吗,macOS系统向日葵远程控制鼠标无法点击的问题...
- 单号查询方法,怎么查快递物流到哪里了
- MTCNN源码详细解读(1)- PNet/RNet/ONet的网络结构和损失函数
- android应用开发入门
- 你了解吗?小游戏和H5小游戏不是一码事
- 小苹果活动助手1.27最新版电脑版
- 科技企业上市就是一大悲剧(下)
热门文章
- windows悬浮按钮_如何在Windows 10上配置笔及其按钮
- Softing pnGate系列网关:将PROFIBUS总线集成到PROFINET网络
- 服务器上可以监控虚拟机操作吗,使用Vmware免费虚拟机监控程序的利弊
- 豆腐锅巴--怀念娭毑_原水_新浪博客
- 为什么项目验收前的总是非常忙乱?
- 【分享】ArcGIS实现分子分母等标注实用技巧
- 图像处理——中值滤波
- 计算机导航窗格有两个c盘,电脑怎么格式化所有盘只留系统
- 有向图(网)、无向图(网)的构造以及遍历
- 苹果iPhone手机怎么恢复备份?详细iOS备份怎么恢复教程