资源简介
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个文件信息
相关资源
- sht31 温湿度传感器stm32 实现
- STM32HAL_BH1750驱动_模拟IIC
- stm32f030+PWM->IR红外(38K)自定义格式
- 基于STM32的ICM20602陀螺仪数据获取
- HY-STM32 电路原理图
- Keil5配置GCC编译器编译STM32工程
- 论文研究-基于STM32的WiFi数据收发模块
- 学好 STM32,只要弄懂这 20 个经典项目
- STM32f103c8t6编码器.zip
- 基于STM32智能窗户的设计与实现.pdf
- 电子-KBPC610.pdf
- 基于stm32的典型工控板-立创基于stm3
- bootloader+上位机.rar
- 贝一特 STM32F103ZET6 V3.0核心板电路图
- STM32F1-MPU9250陀螺仪源码
- 基于stm32的GPRS通信
- STM32F105_OBDII_CAN CODE
- HI226HI229 6轴姿态传感器在STM32下的串口
- ADS1256 包含.c.h文件 stm32f407 SPI
- stm32 f407 各个模块引脚整理
- stm32f4+emwin电子日历
- STM32F407系列ZG/VG/IG原理图封装全
- STM32 tcp/ip通讯
- STM32F103C6简单的应用原理图
- stm32单片机lcd12864串行程序
- stm32二值化
- stm32写的ads1115采集电压程序
- STM32 实现二维码生成 液晶屏显示
- STM3210E-EVAL原理图
- STM32f103驱动SSD1306的OLED0.96寸演示动画
评论
共有 条评论