STM32f107定时器应用.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32f107定时器应用

// // /**************************************************************************************** ** 文件名称: STM32f107 T1定时器应用 ** 功能描述: ** 参 数: None ** 返 回 值: None ** 作  者: 汪仁海 ** 日  期: 2012年2月17日 **--------------------------------------------------------------------------------------- ** 修 改 人: ** 日  期: **--------------------------------------------------------------------------------------- *****************************************************************************************/ #include main.h int time1_NUM; /************************************************* 函数: void Timer1_Configuration(void) 功能: TIM1 配置 参数: 无 返回: 无 定时计算:(1 /(72 / (36 - 1 + 1))) * 2000 us = 1000us = 1ms **************************************************/ void Timer1_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //打开TIM1定时器的时钟 TIM_DeInit(TIM1); //TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 200; //自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 - 1; //TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式 TIM_TimeBaseInit(TIM1, TIM_TimeBaseStructure); //清中断,以免一启用中断后立即产生中断 TIM_ClearFlag(TIM1, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM1, ENABLE); //允许自动重装载寄存器(ARR) TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE); //允许TIM1溢出中断 TIM_Cmd(TIM1, ENABLE); //TIM1开启时钟 time1_NUM=0; } /************************************************* 函数: void TIM1_IRQHandler(void) 功能: TIM1中断处理函数 参数: 无 返回: 无 说明:1ms中断1次 **************************************************/ void TIM1_UP_IRQHandler(void) { if(TIM_GetITStatus(TIM1,TIM_IT_Update)!=RESET) { TIM_ClearITPendingBit(TIM1,TIM_IT_Update); //清除中断标志 if(time1_NUM=900) // {

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档