设置非常简单,以下是产生1ms中断的设置,和产生10ms延时的函数:
3、TIM_TimeBaseStructure.TIM_CounterMode=TIM1_CounterMode_Up;//定时器
(二)第二种涉及到定时器计数时间(TIMx)
注意两点(来自大虾网,未经检验)
(1)TIMx(1-8),在库设置默认的情况下,都是72M的时钟;
(2)TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
是重复计数,就是重复溢出多少次才给你来一个溢出中断,
它对应的寄存器叫TIM1RCR.
如果这个值不配置,上电的时候寄存器值可是随机的,本来1秒中断一次,可能变成N秒中断一次,让你超级头大!
}
//调用程序:
Delay_Ms(10);
模式向上计数
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM3,ENABLE);
while(1){
;
}
}
voidTIM3_Configuration(void)
{
TIM_ClearFlag(TIM3,TIM_FLAG_Update);
TIM_ARRPreloadConfig(TIM3,DISABLE);
假设系统时钟是72Mhz,TIM1是由PCLK2(72MHz)得到,TIM2-7是由PCLK1得到
voidRCC_Configuration(void);
voidNVIC_Configuration(void);
voidGPIO_Configuration(void);
voidTIM3_Configuration(void);
voidRCC_Configuration(void)
{
RCC_ClocksTypeDefRCC_ClockFreq;
SystemInit();//源自system_stm32f10x.c文件,只需要调用此函数,则可完成RCC的配置.
RCC_GetClocksFreq(&RCC_ClockFreq);
TIM_TimeBaseStructure.TIM_Prescaler=2;//预分频(时钟分频)72M/(2+1)=24M
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数
TIM_TimeBaseStructure.TIM_Period=65535;//装载值18k/144=125hz
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_RepetitionCounter=0x0;
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);
#include"stm32f10x.h"
#include"misc.h"
定时时间计算:
TIM_TimeBaseStructure.TIM_Prescaler=2;
//分频272M/(2+1)/2=24MHz
TIM_TimeBaseStructure.TIM_Period=65535;//计数值65535
((1+TIM_Prescaler)/72M)*(1+TIM_Period)=((1+2)/72M)*(1+65535)=0.00273秒=366.2Hz*/
钟频率=72/(时钟预分频+1)
}
((1+TIM_Prescaler)/72M)*(1+TIM_Period)=((1+35999)/72M)*(1+2000)=1秒*/
时间)累计0xFFFF个频率后产生个更新或者中断(也是说定时时间到)
STM32定时器时间的计算方法
7、TIM_Cmd(TIM2,ENABLE);//打开定时器
4、TIM_TimeBaseStructure.TIM_ClockDivision=0x0;//时间分割值
voidTIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update)!=RESET){
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
GPIO_WriteBit(GPIOC,GPIO_Pin_7,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_7)));
}
}
voidNVIC_Configuration(void)
{
NVIC_InitTypeDefNVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
voidGPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period=9999;
TIM_TimeBaseStructure.TIM_Prescaler=7199;
TIM_TimeBaseStructure.TIM_ClockDivision=0;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);
}
voidRCC_Configuration(void)
{
SystemInit();
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
//SYSTICK分频--1ms的系统时钟中断
if(SysTick_Config(SystemFrequency/1000))
{
while(1);//Captureerror
}
}
当然,前提是要设置好,变量tim要设置成volatile类型的。
STM32通用定时器的基本定时器功能实现灯闪烁
6、TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//打开中断溢出中断008pg1030 ugsch
2、TIM_TimeBaseStructure.TIM_Period=9999;//自动重装载寄存器周期的值(定时
关键是设定时钟预分频数,自动重装载寄存器周期的值
定时器的基本设置
(35999+1)/2=1Hz1秒中断溢出一次
(一)系统时钟(SysTick)
5、TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);//初始化定时器2
STM32中的定时器有很多用法:
TIM_TimeBaseStructure.TIM_Prescaler=35999;//分频3599972M/
或者:
TIM_TimeBaseStructure.TIM_Period=2000;//计数值2000
intmain(void)
{
RCC_Configuration();
NVIC_Configuration();
GPIO_Configuration();
TIM3_Configuration();
#include"stm32f10x_it.h"
voidSysTick_Handler(void)//在中断处理函数中的程序
{
while(tim)
{
tim--;
}
}
1、TIM_TimeBaseStructure.TIM_Prescaler=7199;//时钟预分频数例如:时
展开内容
7.8/1,455.9M
快点三国游戏是一款全新推出的三国题材的卡牌战斗策略手游。游戏有着丰富的玩法内容,熟悉的三国元素再现。玩家可以选择喜欢的武将加入战斗进行pk。打斗绚丽多彩,给你绝...
8.6/1,160.0M
战天神vip版根据人气端游故事改编的即时操作战斗魔幻RPG游戏,实时匹配真实玩家,多样的挑战方式,原汁原味的经典,配合生动的任务剧情和动听的背景音乐,带你进入全...
8.3/586.3M
先进的视频恢复技术,只需两步恢复微信等软件丢失的视频。手机视频恢复维修站app功能1在Android设备上扫描删除和丢失的视频。2.选择并恢复已擦除的影片。手机...
8.0/1,326.8M
万卷免费小说阅读是一款非常有特色的阅读app,软件拥有海量正版书籍,实时在线更新各种小说,还有众多特色功能等你发现,喜欢阅读的小伙伴们千万不能错过了!软件介绍万...
8.9/1,208.3M
驾考灯光宝典是专为了准备考驾照的朋友准备的科目三灯光模拟考试的制定的软件,有这方面需要的朋友就下载到手机上去看看!驾考灯光宝典介绍驾考灯光宝典是一款驾考科目三灯...
7.8/1,365.5M
富贵小镇赚钱游戏是一款通过经营养成,免费解锁大额红包的游戏。纯正的国风场景,独特的养成模式,还有可爱的角色,丰富多样的建筑呢,古风逗趣经营,升级果园解锁稀有水果...
8.8/1,966.0M
时间一眨眼就过去了,又要迎来新的一年,为大家带来元旦海报文字图片免抠图素材,节日到来必然少不了海报的搭配,快来下载元旦素材去制作好看的海报吧。元旦海报文字图片免...
8.4/1,137.7M
这款游戏是基本的经典扫雷游戏,采用了好玩的点击扫雷玩法,游戏之中扫雷是非常益智的,游戏很多的小教程可以查看哦,通过点击通关轻松通过游戏哦。扫雷online亮点1...
9.0/180.8M
佛山市第一人民医院互联网医院,只需绑定您在医院的就就医卡,不仅就能随时随地查看您在就诊医院的病历、处方和检查报告;您还能及时获得检查结果的推送消息,全面把握治疗...
查看
8.6/513.2M
最终坚守是比较少见的将两种玩法结合在一起,给玩家一种熟悉但体验起来却非常特别的游戏,利用各种陷阱或士兵等卡牌布置在魔王军团所进攻的路线上,通过陷阱消灭魔王军团的...
9.3/849.7M
Looisapp是以一款数字资产管理软件,前钱包支持两种交易市场,分别是WETH、LRC,用户对自己的资产拥有控制权,无需信任,撮合交易、资产清算都在区块链上,...
8.0/1,863.7M
现在有不少的朋友都是非常的喜欢自己去创业的,那么现在就需要有一个不错的创业平台吧,现在小编就给你的手机上介绍下面的这款创梦客手机app软件!创梦客手机app软件...
7.9/1,263.6M
大型设备租赁信息服务平台,青易租app依托互联网+,为用户带来一个快速,公开,诚信的沟通平台,解决很多机械设备租赁过程中信息不对称的情况,实用且便民。功能介绍建...
8.5/798.0M
终极拆迁模拟器是一款很有意思的拆迁模拟游戏。玩家将在游戏中化身拆迁工开启自己的战斗之路。海量的道具可以使用,画面也是非常的震撼。你可以寻找房子作为支撑点,多种游...
9.1/900.6M
这款游戏是一款非常有趣的休闲游戏,游戏中你控制着两个不同的小球把它正确的移入到黑洞里面即可,需要注意的是的操作都是双向的,两个小球都是一起动,必须小心哦!相对论...
8.1/309.5M
神秘邻居是一款很有意思的休闲解密游戏。游戏有着丰富的玩法内容,玩家将成为主角解开各种谜题,同时还有找出逃离的出口。简单易上手的游戏的操作,轻松点击即可移动我们的...
9.8/1,891.5M
拍照打卡水印相机,可以自定义事时间、地点以及内容格式,提供大量多种的水印模板,适用于工作、市场,日常等,满足你的打卡需求,随时随地拍照打卡不成问题。全能水印相机...
8.0/1,533.7M
斗三国(满星曹操闯铜雀)bt版是一款以三国时期为背景的策略卡牌手游,玩家将扮演一位君主,收集并利用三国时期的著名武将和文臣,组建自己的军队,与其他玩家进行策略对...
8.1/1,696.3M
消灭蔬菜游戏主打的就是无限流冒险,以割草玩法为主流,打造全新刷图闯关体验。金币,天赋,宝箱,导弹等各种道具一应俱全。这是2022超火的割草小游戏,神作呈现体验绝...
8.6/1,549.1M
这款游戏是一款非常有趣的休闲游戏,有着有着非常可爱的画风可以赏析,众多不同的关卡可以挑战,游戏玩起来非常简单,不过需要快速的反应速度!多塔风暴介绍多塔风暴是一款...
7.9/298.8M
想自动关注别人的微博吗?想你发布的每一条消息,别人都看得到吗?来下载这款软件,他是为爱刷微博的朋友、需要微博推广的朋友专业打造的,让别人能轻松看到你的信息或产品...
8.3/1,394.0M
一个用于查看窗口的Handle、Class、Text的小工具。该工具用于查看窗口信息(句柄、类名、文本)。使用方法很简单,运行WindowSpy后,将鼠标移动到...
查看
9.4/203.8M
名风(多线)通用顶评论点赞软件一款通用的多线程工具,可以应用到所有新闻系统,视频网站,百度知道,等等不需要登陆账号和不需要验证码操作的地方,软件配合代理IP实现...