📄 tim.h
字号:
/****************************************Copyright (c)**************************************************
** Henan Star Hi-Tech CO.,LTD
** All rights reserved.
**
**----------------------------------------File Info-----------------------------------------------------
** 文件名称:
** 工程项目:
** 说 明:
**
** 作 者: 日 期:
** 建立版本:
**
**----------------------------------------modification--------------------------------------------------
** 作 者:
** 日 期:
** 版 本: 标 记:
** 说 明:
**
********************************************************************************************************/
#ifndef __TIM_H_
#define __TIM_H_
#include "71x_lib.h"
//SR--状态标志位定义
typedef enum{
TIM_ICFA = (1<<15),
TIM_OCFA = (1<<14),
TIM_TOF = (1<<13),
TIM_ICFB = (1<<12),
TIM_OCFB = (1<<11)
}TIM_Flags;
/*****************************************************************************************
** 函数名称:inline void TIM_Start(TIM_TypeDef *tim)
** 函数功能:TIM开始计数
** 入口参数:tim--TIM通道
** 返 回 值:void
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline void TIM_Start(TIM_TypeDef *tim)
{
tim->CR1 |= 1<<15;
}
/*****************************************************************************************
** 函数名称:inline void TIM_Stop(TIM_TypeDef *tim)
** 函数功能:停止TIM计数
** 入口参数:tim--TIM通道
** 返 回 值:void
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline void TIM_Stop(TIM_TypeDef *tim)
{
tim->CR1 &= ~(1<<15);
}
/*****************************************************************************************
** 函数名称:
** 函数功能:
** 入口参数:
** 返 回 值:
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline bool TIM_EnableState(TIM_TypeDef *tim)
{
return ((tim->CR1&(1<<15))==0) ? FALSE:TRUE;
}
/*****************************************************************************************
** 函数名称:inline void TIM_StateClear(TIM_TypeDef *tim, TIM_Flags x)
** 函数功能:清除TIM中断状态标志位
** 入口参数:tim--TIM通道 x--中断标志位
** 返 回 值:
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline void TIM_StateClear(TIM_TypeDef *tim, TIM_Flags x)
{
tim->SR &= ~x;
}
/*****************************************************************************************
** 函数名称:
** 函数功能:
** 入口参数:
** 返 回 值:
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline u16 TIM_ReadCounterValue(TIM_TypeDef *tim)
{
return tim->CNTR;
}
/*****************************************************************************************
** 函数名称:
** 函数功能:计算器模式下,重新写计数中断值
** 入口参数:
** 返 回 值:
** 编 写: 日 期: 版 本 号:
** 修改历史:
******************************************************************************************/
inline void TIM_WriteCounterDiv(TIM_TypeDef *tim, u32 cdiv)
{
tim->OCBR = cdiv -5;
}
/*=======================================================
= 函数原型声明
=======================================================*/
void TIM_TimerModeConfig(TIM_TypeDef *tim, u32 ms); //定时器模式
void TIM_CounterModeConfig(TIM_TypeDef *tim, u32 divp); //计数器模式
void TIM_PWMOModeConfig(TIM_TypeDef *tim, u32 fullus, u32 highus); //PWM模式
void TIM_PWMOSetHighCircle(TIM_TypeDef *tim, u32 highus); //设置PWM模式高电平周期
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -