📄 stm8s_tim5.h
字号:
/**
******************************************************************************
* @file stm8s_tim5.h
* @brief This file contains all functions prototype and macros for the TIM5 peripheral.
* @author STMicroelectronics - MCD Application Team
* @version V1.1.1
* @date 06/05/2009
******************************************************************************
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
* @image html logo.bmp
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM8S_TIM5_H
#define __STM8S_TIM5_H
/* Includes ------------------------------------------------------------------*/
#include "stm8s.h"
/* Exported types ------------------------------------------------------------*/
/** TIM5 Forced Action */
typedef enum
{
TIM5_FORCEDACTION_ACTIVE =((u8)0x50),
TIM5_FORCEDACTION_INACTIVE =((u8)0x40)
}TIM5_ForcedAction_TypeDef;
#define IS_TIM5_FORCED_ACTION_OK(ACTION) ((ACTION == TIM5_FORCEDACTION_ACTIVE) || \
(ACTION == TIM5_FORCEDACTION_INACTIVE))
/** TIM5 Prescaler */
typedef enum
{
TIM5_PRESCALER_1 =((u8)0x00),
TIM5_PRESCALER_2 =((u8)0x01),
TIM5_PRESCALER_4 =((u8)0x02),
TIM5_PRESCALER_8 =((u8)0x03),
TIM5_PRESCALER_16 =((u8)0x04),
TIM5_PRESCALER_32 =((u8)0x05),
TIM5_PRESCALER_64 =((u8)0x06),
TIM5_PRESCALER_128 =((u8)0x07),
TIM5_PRESCALER_256 =((u8)0x08),
TIM5_PRESCALER_512 =((u8)0x09),
TIM5_PRESCALER_1024 =((u8)0x0A),
TIM5_PRESCALER_2048 =((u8)0x0B),
TIM5_PRESCALER_4096 =((u8)0x0C),
TIM5_PRESCALER_8192 =((u8)0x0D),
TIM5_PRESCALER_16384 =((u8)0x0E),
TIM5_PRESCALER_32768 =((u8)0x0F)
}TIM5_Prescaler_TypeDef;
#define IS_TIM5_PRESCALER_OK(PRESCALER) (((PRESCALER) == TIM5_PRESCALER_1 ) || \
((PRESCALER) == TIM5_PRESCALER_2 ) || \
((PRESCALER) == TIM5_PRESCALER_4 ) || \
((PRESCALER) == TIM5_PRESCALER_8 ) || \
((PRESCALER) == TIM5_PRESCALER_16 ) || \
((PRESCALER) == TIM5_PRESCALER_32 ) || \
((PRESCALER) == TIM5_PRESCALER_64 ) || \
((PRESCALER) == TIM5_PRESCALER_128 ) || \
((PRESCALER) == TIM5_PRESCALER_256 ) || \
((PRESCALER) == TIM5_PRESCALER_512 ) || \
((PRESCALER) == TIM5_PRESCALER_1024 ) || \
((PRESCALER) == TIM5_PRESCALER_2048 ) || \
((PRESCALER) == TIM5_PRESCALER_4096 ) || \
((PRESCALER) == TIM5_PRESCALER_8192 ) || \
((PRESCALER) == TIM5_PRESCALER_16384 ) || \
((PRESCALER) == TIM5_PRESCALER_32768 ))
/** TIM5 Output Compare and PWM modes */
typedef enum
{
TIM5_OCMODE_TIMING =((u8)0x00),
TIM5_OCMODE_ACTIVE =((u8)0x10),
TIM5_OCMODE_INACTIVE =((u8)0x20),
TIM5_OCMODE_TOGGLE =((u8)0x30),
TIM5_OCMODE_PWM1 =((u8)0x60),
TIM5_OCMODE_PWM2 =((u8)0x70)
}TIM5_OCMode_TypeDef;
#define IS_TIM5_OC_MODE_OK(MODE) (((MODE) == TIM5_OCMODE_TIMING) || \
((MODE) == TIM5_OCMODE_ACTIVE) || \
((MODE) == TIM5_OCMODE_INACTIVE) || \
((MODE) == TIM5_OCMODE_TOGGLE)|| \
((MODE) == TIM5_OCMODE_PWM1) || \
((MODE) == TIM5_OCMODE_PWM2))
#define IS_TIM5_OCM_OK(MODE)(((MODE) == TIM5_OCMODE_TIMING) || \
((MODE) == TIM5_OCMODE_ACTIVE) || \
((MODE) == TIM5_OCMODE_INACTIVE) || \
((MODE) == TIM5_OCMODE_TOGGLE)|| \
((MODE) == TIM5_OCMODE_PWM1) || \
((MODE) == TIM5_OCMODE_PWM2) || \
((MODE) == TIM5_FORCEDACTION_ACTIVE) || \
((MODE) == TIM5_FORCEDACTION_INACTIVE))
/** TIM5 One Pulse Mode */
typedef enum
{
TIM5_OPMODE_SINGLE =((u8)0x01),
TIM5_OPMODE_REPETITIVE =((u8)0x00)
}TIM5_OPMode_TypeDef;
#define IS_TIM5_OPM_MODE_OK(MODE) (((MODE) == TIM5_OPMODE_SINGLE) || \
((MODE) == TIM5_OPMODE_REPETITIVE))
/** TIM5 Channel */
typedef enum
{
TIM5_CHANNEL_1 =((u8)0x00),
TIM5_CHANNEL_2 =((u8)0x01),
TIM5_CHANNEL_3 =((u8)0x02)
}TIM5_Channel_TypeDef;
#define IS_TIM5_CHANNEL_OK(CHANNEL) (((CHANNEL) == TIM5_CHANNEL_1) || \
((CHANNEL) == TIM5_CHANNEL_2) || \
((CHANNEL) == TIM5_CHANNEL_3))
#define IS_TIM5_PWMI_CHANNEL_OK(CHANNEL) (((CHANNEL) == TIM5_CHANNEL_1) || \
((CHANNEL) == TIM5_CHANNEL_2))
/** TIM5 Output Compare Polarity */
typedef enum
{
TIM5_OCPOLARITY_HIGH =((u8)0x00),
TIM5_OCPOLARITY_LOW =((u8)0x22)
}TIM5_OCPolarity_TypeDef;
#define IS_TIM5_OC_POLARITY_OK(POLARITY) (((POLARITY) == TIM5_OCPOLARITY_HIGH) || \
((POLARITY) == TIM5_OCPOLARITY_LOW))
/** TIM5 Output Compare states */
typedef enum
{
TIM5_OUTPUTSTATE_DISABLE =((u8)0x00),
TIM5_OUTPUTSTATE_ENABLE =((u8)0x11)
}TIM5_OutputState_TypeDef;
#define IS_TIM5_OUTPUT_STATE_OK(STATE) (((STATE) == TIM5_OUTPUTSTATE_DISABLE) || \
((STATE) == TIM5_OUTPUTSTATE_ENABLE))
/** TIM5 Input Capture Polarity */
typedef enum
{
TIM5_ICPOLARITY_RISING =((u8)0x00),
TIM5_ICPOLARITY_FALLING =((u8)0x44)
}TIM5_ICPolarity_TypeDef;
#define IS_TIM5_IC_POLARITY_OK(POLARITY) (((POLARITY) == TIM5_ICPOLARITY_RISING) || \
((POLARITY) == TIM5_ICPOLARITY_FALLING))
/** TIM5 Input Capture Selection */
typedef enum
{
TIM5_ICSELECTION_DIRECTTI =((u8)0x01),
TIM5_ICSELECTION_INDIRECTTI =((u8)0x02),
TIM5_ICSELECTION_TRGI =((u8)0x03)
}TIM5_ICSelection_TypeDef;
#define IS_TIM5_IC_SELECTION_OK(SELECTION) (((SELECTION) == TIM5_ICSELECTION_DIRECTTI) || \
((SELECTION) == TIM5_ICSELECTION_INDIRECTTI) || \
((SELECTION) == TIM5_ICSELECTION_TRGI))
#define IS_TIM5_IC_SELECTION1_OK(SELECTION) (((SELECTION) == TIM5_ICSELECTION_DIRECTTI) || \
((SELECTION) == TIM5_ICSELECTION_TRGI))
/** TIM5 Input Capture Prescaler */
typedef enum
{
TIM5_ICPSC_DIV1 =((u8)0x00),
TIM5_ICPSC_DIV2 =((u8)0x04),
TIM5_ICPSC_DIV4 =((u8)0x08),
TIM5_ICPSC_DIV8 =((u8)0x0C)
}TIM5_ICPSC_TypeDef;
#define IS_TIM5_IC_PRESCALER_OK(PRESCALER) (((PRESCALER) == TIM5_ICPSC_DIV1) || \
((PRESCALER) == TIM5_ICPSC_DIV2) || \
((PRESCALER) == TIM5_ICPSC_DIV4) || \
((PRESCALER) == TIM5_ICPSC_DIV8))
/** TIM5 Input Capture Filer Value */
#define IS_TIM5_IC_FILTER_OK(ICFILTER) (ICFILTER <= 0x0F)
/** TIM5 interrupt sources */
typedef enum
{
TIM5_IT_UPDATE =((u8)0x01),
TIM5_IT_CC1 =((u8)0x02),
TIM5_IT_CC2 =((u8)0x04),
TIM5_IT_CC3 =((u8)0x08),
TIM5_IT_TRIGGER = ((u8)0x40)
}TIM5_IT_TypeDef;
#define IS_TIM5_IT_OK(IT) (((IT) != 0x00) && ((IT) <= 0x4F))
#define IS_TIM5_GET_IT_OK(IT) (((IT) == TIM5_IT_UPDATE) || \
((IT) == TIM5_IT_CC1) || \
((IT) == TIM5_IT_CC2) || \
((IT) == TIM5_IT_CC3) || \
((IT) == TIM5_IT_TRIGGER))
/** TIM5 Prescaler Reload Mode */
typedef enum
{
TIM5_PSCRELOADMODE_UPDATE =((u8)0x00),
TIM5_PSCRELOADMODE_IMMEDIATE =((u8)0x01)
}TIM5_PSCReloadMode_TypeDef;
#define IS_TIM5_PRESCALER_RELOAD_OK(RELOAD) (((RELOAD) == TIM5_PSCRELOADMODE_UPDATE) || \
((RELOAD) == TIM5_PSCRELOADMODE_IMMEDIATE))
/** TIM5 Event Source */
typedef enum
{
TIM5_EVENTSOURCE_UPDATE =((u8)0x01),
TIM5_EVENTSOURCE_CC1 =((u8)0x02),
TIM5_EVENTSOURCE_CC2 =((u8)0x04),
TIM5_EVENTSOURCE_CC3 =((u8)0x08),
TIM5_EVENTSOURCE_TRIGGER = ((u8)0x40)
}TIM5_EventSource_TypeDef;
#define IS_TIM5_EVENT_SOURCE_OK(SOURCE) ((SOURCE != 0x00))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -