历史上的今天
今天是:2025年01月28日(星期二)
2020年01月28日 | STM32之timer2的精准延时
2020-01-28 来源:eefocus
一、简介
本文介绍STM32系列如何使用timer2进行精确定时。
二、实验平台
库版本:STM32F10x_StdPeriph_Lib_V3.5.0
编译软件:MDK4.53
硬件平台:STM32开发板(主芯片stm32f103c8t6)
仿真器:JLINK
三、版权声明
四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
暂无
2、在进行本文步骤前,请先实现以下博文:
暂无
五、基础知识
暂无
六、实验步骤
1、编写并添加定时器2驱动
1)编写驱动GUA_Timer2.c(存放在“……HARDWARE”)
//******************************************************************************
//name: GUA_Timer2.c
//introduce: 定时器2驱动
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
#include "stm32f10x.h"
#include "GUA_Timer2.h"
/*********************宏定义************************/
//时钟宏
#define GUA_TIMER2_PERIPH_CLOCK RCC_APB1Periph_TIM2
/*********************内部变量************************/
static GUA_U64 sGUA_Timer2_TimingDelay_1 = 0;
static GUA_U64 sGUA_Timer2_TimingDelay_2 = 0;
//******************************************************************************
//name: GUA_Timer2_TimingDelay_Decrement
//introduce: 定时器2数值减1的处理操作
//parameter: none
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
void GUA_Timer2_TimingDelay_Decrement(void)
{
//变量1做递减
if(sGUA_Timer2_TimingDelay_1 != 0x00)
{
sGUA_Timer2_TimingDelay_1--;
}
//变量2做递减
if(sGUA_Timer2_TimingDelay_2 != 0x00)
{
sGUA_Timer2_TimingDelay_2--;
}
}
//******************************************************************************
//name: GUA_Timer2_StartDelayMs_1
//introduce: 启动延时
//parameter: nGUA_Timer2_Time:需要延时的ms数
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
void GUA_Timer2_StartDelayMs_1(GUA_U64 nGUA_Timer2_Time)
{
sGUA_Timer2_TimingDelay_1 = nGUA_Timer2_Time;
}
//******************************************************************************
//name: GUA_Timer2_CheckDelayMs_1
//introduce: 检查延时
//parameter: none
//return: 剩余的延时ms数
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
GUA_U64 GUA_Timer2_CheckDelayMs_1(void)
{
return sGUA_Timer2_TimingDelay_1;
}
//******************************************************************************
//name: GUA_Timer2_StartDelayMs_2
//introduce: 启动延时
//parameter: nGUA_Timer2_Time:需要延时的ms数
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
void GUA_Timer2_StartDelayMs_2(GUA_U64 nGUA_Timer2_Time)
{
sGUA_Timer2_TimingDelay_2 = nGUA_Timer2_Time;
}
//******************************************************************************
//name: GUA_Timer2_CheckDelayMs_2
//introduce: 检查延时
//parameter: none
//return: 剩余的延时ms数
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
GUA_U64 GUA_Timer2_CheckDelayMs_2(void)
{
return sGUA_Timer2_TimingDelay_2;
}
//******************************************************************************
//name: GUA_Timer2_Init
//introduce: 定时器2初始化
//parameter: none
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜单片机之STM8/STM32(164311667)
//changetime: 2017.01.15
//******************************************************************************
void GUA_Timer2_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
史海拾趣
|
4月15日0时16分,我国在西昌卫星发射中心用“长征三号丙”运载火箭,成功将第二颗北斗导航卫星送入预定轨道。新华社记者李刚摄 15日零时16分,我国在西昌卫星发射中心用“长征三号丙”运载火箭,成功将第2颗北斗导航卫星送入预定轨道。 中国卫 ...… 查看全部问答> |
|
附件中是TI提供的太阳能逆变板资料,里面面有电路图,也没有源代码, 由于这块板子还没上市,听说更多详细资料要等之后几个月更新controlsuite才有 电源 连接线 附带的U盘和灯,U盘里面就是附件中的资料 ...… 查看全部问答> |
|
Exploring GNU radio(GNU radio探密)是GNU radio创始人Eric Blossom所写的,为我们用GNU radio工具构建软件无线电系统做了简明扼要的介绍。读完之后有几点需要自己注意的地方:1、ADC的主要特性:采样率和动态范围。采样率是ADC测量模拟信号的速度 ...… 查看全部问答> |




