资源简介
STM32的通用定时器Timer(库函数),亲测可用,内有详细代码注释和说明讲解,很好的学习资料。

代码片段和文件信息
/*----------------------------------------------------------------------------
QQ: 958664258
21IC用户名:banhushui
交流平台:http://blog.21ic.com/user1/5817/index.html
旺旺:半壶水电子
编译器版本:MDK4.12
*---------------------------------------------------------------------------*/
/* Includes ------------------------------------------------------------------*/
#define SYS_GLOBALS
#include “include.h“
u32 volatile gTimer_1ms=0;
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void NVIC_Configuration(void);
void GPIO_Configuration(void);
/*------------------------------------------------------------------------------
中断函数
1 ms中断1次
*------------------------------------------------------------------------------*/
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2TIM_IT_Update)!=RESET)
{
//清除中断标志
TIM_ClearITPendingBit(TIM2TIM_IT_Update);
gTimer_1ms++;
}
}
void Timer2_Configuration(void)
{
TIM_TimebaseInitTypeDef TIM_TimebaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//------------------------------------------------------------
//打开定时器的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 ENABLE);
//------------------------------------------------------------
//TIMx寄存器重设为缺省值
TIM_DeInit(TIM2);
TIM_TimebaseStructure.TIM_Period=1; //自动重装载寄存器周期的值
TIM_TimebaseStructure.TIM_Prescaler=0; //TIMx 时钟频率除数的预分频值
TIM_TimebaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //采样分频
TIM_TimebaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimebaseInit(TIM2 &TIM_TimebaseStructure);
TIM_PrescalerConfig(TIM236000-1TIM_PSCReloadMode_Immediate);//时钟分频系数,定时器1ms
TIM_ARRPreloadConfig(TIM2 DISABLE);//禁止ARR预装载缓冲器
TIM_ITConfig(TIM2TIM_IT_UpdateENABLE);
TIM_Cmd(TIM2 ENABLE); //开启时钟
//------------------------------------------------------------
//配置TIM2中断
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
//LED循环闪烁
void LedFlash(void)
{
static u16 leds = 0x01;
u32 temp;
//先读出PC端口状态
temp = GPIOC->ODR;
//先屏蔽掉PC8~PC11
temp |= 0x00000F00;
//重新设置PC8~PC11输出状态,IO输出低电平点亮LED
GPIOC->ODR = temp&(~(leds<<8));
leds <<= 1;
if ( (leds&0x0f) == 0)
leds = 0x01;
}
//精确的延时
void Delay(u32 nTime)
{u32 counter;
counter=gTimer_1ms;
while( gTimer_1ms-counter < nTime);//定时时间到才退出
}
/* Private functions ---------------------------------------------------------*/
/*******************************************************************************
* Function Name : main
* Description : Main program.
* Input : None
* Outpu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 459 2009-07-05 18:17 BHS-STM32 实验10-通用定时器Timer(库函数)\main\globals.h
文件 256 2011-06-01 16:42 BHS-STM32 实验10-通用定时器Timer(库函数)\main\include.h
文件 8165 2017-11-27 20:48 BHS-STM32 实验10-通用定时器Timer(库函数)\main\main.c
文件 1246 2009-06-28 23:57 BHS-STM32 实验10-通用定时器Timer(库函数)\main\main.h
文件 12814 2009-01-18 15:39 BHS-STM32 实验10-通用定时器Timer(库函数)\main\myuse.h
文件 2042 2011-06-10 13:49 BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.Opt
文件 7648 2011-06-10 13:49 BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.Uv2
文件 156643 2011-06-10 13:49 BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.uvopt
文件 46003 2011-06-05 19:57 BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.uvproj
文件 1257 2009-06-29 16:13 BHS-STM32 实验10-通用定时器Timer(库函数)\main\RAM.ini
文件 2800 2008-09-23 09:24 BHS-STM32 实验10-通用定时器Timer(库函数)\main\readme.txt
文件 6311 2008-09-23 09:24 BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_conf.h
文件 29400 2011-06-01 16:43 BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_it.c
文件 3842 2008-09-23 09:24 BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_it.h
文件 12871 2008-09-23 09:24 BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_vector.s
文件 311 2011-02-10 21:25 BHS-STM32 实验10-通用定时器Timer(库函数)\main\说明.txt
文件 479 2010-12-22 17:44 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM\BHS-STM32-RAM.sct
文件 174 2011-06-10 13:49 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM\stm32f10x_vector._ia
文件 479 2010-12-29 00:28 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim\STM32.sct
文件 258 2011-06-10 13:49 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim\stm32f10x_vector._ia
目录 0 2016-07-07 18:38 BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstFlash
目录 0 2016-07-07 18:38 BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstRAM
目录 0 2016-07-07 18:38 BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstSim
目录 0 2016-07-07 18:38 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjFlash
目录 0 2017-11-27 20:47 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM
目录 0 2017-11-27 20:47 BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim
目录 0 2017-11-27 20:47 BHS-STM32 实验10-通用定时器Timer(库函数)\main
目录 0 2017-11-27 20:47 BHS-STM32 实验10-通用定时器Timer(库函数)\out
目录 0 2017-11-27 20:47 BHS-STM32 实验10-通用定时器Timer(库函数)
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- stm32做的红外遥控解码程序
- 《emwin实战指南(基于STM32-ISO开发板)
- Beginning STM32: Developing with FreeRTOS libo
- stm32f103c8t6_sch.Lib
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
评论
共有 条评论