116 lines
3.8 KiB
C
116 lines
3.8 KiB
C
//************************************************************
|
|
// Copyright (c) 深圳市赛元微电子有限公司
|
|
// 文件名称 : sc92f_timer1.h
|
|
// 作者 :
|
|
// 模块功能 : TIMER1固件库函数头文件
|
|
// 局部函数列表:
|
|
// 最后更正日期: 2020/8/18
|
|
// 版本 : V1.0
|
|
// 说明 :
|
|
//*************************************************************
|
|
|
|
#ifndef _sc92f_TIMER1_H_
|
|
#define _sc92f_TIMER1_H_
|
|
|
|
#include "sc92f.h"
|
|
|
|
typedef enum
|
|
{
|
|
TIM1_PRESSEL_FSYS_D12 = ((uint8_t)0x00), //TIMER1计数源来自系统时钟12分频
|
|
TIM1_PRESSEL_FSYS_D1 = ((uint8_t)0x01) //TIMER1计数源来自系统时钟
|
|
} TIM1_PresSel_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
TIM1_MODE_TIMER = ((uint8_t)0x01), //TIMER1做定时器
|
|
TIM1_MODE_COUNTER = ((uint8_t)0x02) //TIMER1做计数器
|
|
} TIM1_CountMode_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
TIM1_WORK_MODE0 = ((uint8_t)0x00), //TIMER1选择工作模式0
|
|
TIM1_WORK_MODE1 = ((uint8_t)0x01), //TIMER1选择工作模式1
|
|
TIM1_WORK_MODE2 = ((uint8_t)0x02), //TIMER1选择工作模式2
|
|
} TIM1_WorkMode_TypeDef;
|
|
|
|
/************************宏函数************************/
|
|
/**************************************************
|
|
*函数名称:void TIM1_Mode0SetReloadCounter(uint16_t TIM1_SetCounter)
|
|
*函数功能:TIMER1工作模式0初值重载函数
|
|
*入口参数:
|
|
uint16_t:TIM1_SetCounter:配置TIMER0重载值
|
|
*出口参数:void
|
|
**************************************************/
|
|
#define TIM1_Mode0SetReloadCounter(TIM1_SetCounter) \
|
|
do{ \
|
|
TL1 = (uint8_t)TIM1_SetCounter; \
|
|
TH1 = (TIM1_SetCounter >> 5); \
|
|
}while(0)
|
|
|
|
/**************************************************
|
|
*函数名称:void TIM1_Mode1SetReloadCounter(uint16_t TIM1_SetCounter)
|
|
*函数功能:TIMER0工作模式1初值重载函数
|
|
*入口参数:
|
|
uint16_t:TIM1_SetCounter:配置TIMER0重载值
|
|
*出口参数:void
|
|
**************************************************/
|
|
#define TIM1_Mode1SetReloadCounter(TIM1_SetCounter) \
|
|
do{ \
|
|
TL1 = (uint8_t)TIM1_SetCounter; \
|
|
TH1 = (TIM1_SetCounter >> 8); \
|
|
}while(0)
|
|
|
|
/*****************************************************
|
|
*函数名称:void TIM1_Cmd(FunctionalState NewState)
|
|
*函数功能:TIMER1功能开关函数
|
|
*入口参数:
|
|
FunctionalState:NewState:功能启动/关闭选择
|
|
*出口参数:void
|
|
*****************************************************/
|
|
#define TIM1_Cmd(NewState) (TR1 = (bit)NewState)
|
|
|
|
/*****************************************************
|
|
*函数名称:void TIM1_ITConfig(FunctionalState NewState, PriorityStatus Priority)
|
|
*函数功能:TIMER1中断初始化
|
|
*入口参数:
|
|
FunctionalState:NewState:中断使能/关闭选择
|
|
PriorityStatus:Priority:中断优先级选择
|
|
*出口参数:void
|
|
*****************************************************/
|
|
#define TIM1_ITConfig(NewState,Priority) \
|
|
do{ \
|
|
ET1 = (bit)NewState; \
|
|
IPT1 = (bit)Priority; \
|
|
}while(0)
|
|
|
|
/*****************************************************
|
|
*函数名称:FlagStatus TIM1_GetFlagStatus(void)
|
|
*函数功能:获得TIMER1中断标志状态
|
|
*入口参数:void
|
|
*出口参数:
|
|
FlagStatus:TIMER1中断标志状态
|
|
*****************************************************/
|
|
#define TIM1_GetFlagStatus() (TF1)
|
|
|
|
/*****************************************************
|
|
*函数名称:void TIM1_ClearFlag(void)
|
|
*函数功能:清除TIMER1中断标志状态
|
|
*入口参数:void
|
|
*出口参数:void
|
|
*****************************************************/
|
|
#define TIM1_ClearFlag() (TF1 = 0)
|
|
|
|
void TIM1_DeInit(void);
|
|
void TIM1_TimeBaseInit(TIM1_PresSel_TypeDef
|
|
TIM1_PrescalerSelection,
|
|
TIM1_CountMode_TypeDef TIM1_CountMode);
|
|
void TIM1_WorkMode0Config(uint16_t TIM1_SetCounter);
|
|
void TIM1_WorkMode1Config(uint16_t TIM1_SetCounter);
|
|
void TIM1_WorkMode2Config(uint8_t TIM1_SetCounter);
|
|
void TIM1_WorkModeConfig(TIM1_WorkMode_TypeDef TIM1_WorkMode,
|
|
uint16_t TIM1_SetCounter);
|
|
|
|
|
|
#endif
|
|
|
|
/******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/ |