89 lines
3.6 KiB
C
89 lines
3.6 KiB
C
//************************************************************
|
|
// Copyright (c) 深圳市赛元微电子有限公司
|
|
// 文件名称: sc92f_btm.h
|
|
// 作者: 赛元应用团队
|
|
// 模块功能: BTM固件库函数H文件
|
|
// 最后更正日期: 2022年4月2日
|
|
// 版本: V1.10002
|
|
// 说明:
|
|
//*************************************************************
|
|
#ifndef _sc92f_BTM_H_
|
|
#define _sc92f_BTM_H_
|
|
|
|
#include "sc92f.h"
|
|
|
|
#if defined(SC92F748x) || defined(SC92F848x) || defined(SC92F859x) || defined(SC92F759x) || defined (SC92L853x) || defined (SC92L753x)
|
|
typedef enum
|
|
{
|
|
BTM_TIMEBASE_15_625MS = (uint8_t)0x00, //BTM每15.625MS产生一次中断
|
|
BTM_TIMEBASE_31_25MS = (uint8_t)0x01, //BTM每31.25MS产生一次中断
|
|
BTM_TIMEBASE_62_5MS = (uint8_t)0x02, //BTM每62.5MS产生一次中断
|
|
BTM_TIMEBASE_125MS = (uint8_t)0x03, //BTM每125MS产生一次中断
|
|
BTM_TIMEBASE_250MS = (uint8_t)0x04, //BTM每0.25S产生一次中断
|
|
BTM_TIMEBASE_500MS = (uint8_t)0x05, //BTM每0.5S产生一次中断
|
|
BTM_TIMEBASE_1S = (uint8_t)0x06, //BTM每1S产生一次中断
|
|
BTM_TIMEBASE_2S = (uint8_t)0x07, //BTM每2S产生一次中断
|
|
BTM_TIMEBASE_8S = (uint8_t)0x09, //BTM每8S产生一次中断
|
|
BTM_TIMEBASE_16S = (uint8_t)0x0A, //BTM每16S产生一次中断
|
|
BTM_TIMEBASE_32S = (uint8_t)0x0B, //BTM每32产生一次中断
|
|
} BTM_Timebase_TypeDef;
|
|
#elif defined (SC92F732X)
|
|
typedef enum
|
|
{
|
|
BTM_TIMEBASE_15_625MS = (uint8_t)0x00, //BTM每15.625MS产生一次中断
|
|
BTM_TIMEBASE_31_25MS = (uint8_t)0x01, //BTM每31.25MS产生一次中断
|
|
BTM_TIMEBASE_62_5MS = (uint8_t)0x02, //BTM每62.5MS产生一次中断
|
|
BTM_TIMEBASE_125MS = (uint8_t)0x03, //BTM每125MS产生一次中断
|
|
BTM_TIMEBASE_250MS = (uint8_t)0x04, //BTM每0.25S产生一次中断
|
|
BTM_TIMEBASE_500MS = (uint8_t)0x05, //BTM每0.5S产生一次中断
|
|
BTM_TIMEBASE_1S = (uint8_t)0x06, //BTM每1S产生一次中断
|
|
BTM_TIMEBASE_2S = (uint8_t)0x07, //BTM每2S产生一次中断
|
|
} BTM_Timebase_TypeDef;
|
|
#else
|
|
typedef enum
|
|
{
|
|
BTM_TIMEBASE_15_625MS = (uint8_t)0x00, //BTM每15.625MS产生一次中断
|
|
BTM_TIMEBASE_31_25MS = (uint8_t)0x01, //BTM每31.25MS产生一次中断
|
|
BTM_TIMEBASE_62_5MS = (uint8_t)0x02, //BTM每62.5MS产生一次中断
|
|
BTM_TIMEBASE_125MS = (uint8_t)0x03, //BTM每125MS产生一次中断
|
|
BTM_TIMEBASE_250MS = (uint8_t)0x04, //BTM每0.25S产生一次中断
|
|
BTM_TIMEBASE_500MS = (uint8_t)0x05, //BTM每0.5S产生一次中断
|
|
BTM_TIMEBASE_1S = (uint8_t)0x06, //BTM每1S产生一次中断
|
|
BTM_TIMEBASE_2S = (uint8_t)0x07, //BTM每2S产生一次中断
|
|
BTM_TIMEBASE_4S = (uint8_t)0x08, //BTM每4S产生一次中断
|
|
} BTM_Timebase_TypeDef;
|
|
#endif
|
|
|
|
/*******************************宏函数*******************************/
|
|
/**************************************************
|
|
*函数名称:void BTM_DeInit(void)
|
|
*函数功能:BTM相关寄存器复位至缺省值
|
|
*入口参数:void
|
|
*出口参数:void
|
|
**************************************************/
|
|
#define BTM_DeInit() CLEAR_REG(BTMCON)
|
|
|
|
/*****************************************************
|
|
*函数名称:void BTM_GetFlagStatus(void)
|
|
*函数功能:获取BTM中断标志状态
|
|
*入口参数:void
|
|
*出口参数:
|
|
FlagStatus:BTM中断标志状态
|
|
*****************************************************/
|
|
#define BTM_GetFlagStatus() ((READ_BIT(BTMCON,0x40)) ? (SET):(RESET))
|
|
|
|
/*****************************************************
|
|
*函数名称:void BTM_ClearFlag(void)
|
|
*函数功能:清除BTM中断标志状态
|
|
*入口参数:void
|
|
*出口参数:void
|
|
*****************************************************/
|
|
#define BTM_ClearFlag() CLEAR_BIT(BTMCON,0x40)
|
|
|
|
void BTM_Init(BTM_Timebase_TypeDef BTM_Timebase);
|
|
void BTM_Cmd(FunctionalState NewState);
|
|
void BTM_ITConfig(FunctionalState NewState,
|
|
PriorityStatus Priority);
|
|
#endif
|
|
|
|
/******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/ |