⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm8s_tim5.h

📁 STM8s
💻 H
📖 第 1 页 / 共 2 页
字号:
/**
  ******************************************************************************
  * @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>&copy; 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 + -