/******************** (C) COPYRIGHT 2007 STMicroelectronics ******************** | |
* File Name : stm32f10x_tim1.h | |
* Author : MCD Application Team | |
* Date First Issued : 09/29/2006 | |
* Description : This file contains all the functions prototypes for the | |
* TIM1 firmware library. | |
******************************************************************************** | |
* History: | |
* 04/02/2007: V0.2 | |
* mm/dd/yyyy: V0.1 | |
* 09/29/2006: V0.01 | |
******************************************************************************** | |
* THE PRESENT SOFTWARE 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 SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING | |
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
*******************************************************************************/ | |
/* Define to prevent recursive inclusion -------------------------------------*/ | |
#ifndef __STM32F10x_TIM1_H | |
#define __STM32F10x_TIM1_H | |
/* Includes ------------------------------------------------------------------*/ | |
#include "stm32f10x_map.h" | |
/* Exported types ------------------------------------------------------------*/ | |
/* TIM1 Time Base Init structure definition */ | |
typedef struct | |
{ | |
u16 TIM1_Prescaler; | |
u16 TIM1_CounterMode; | |
u16 TIM1_Period; | |
u16 TIM1_ClockDivision; | |
u8 TIM1_RepetitionCounter; | |
} TIM1_TimeBaseInitTypeDef; | |
/* TIM1 Output Compare Init structure definition */ | |
typedef struct | |
{ | |
u16 TIM1_OCMode; | |
u16 TIM1_OutputState; | |
u16 TIM1_OutputNState; | |
u16 TIM1_Pulse; | |
u16 TIM1_OCPolarity; | |
u16 TIM1_OCNPolarity; | |
u16 TIM1_OCIdleState; | |
u16 TIM1_OCNIdleState; | |
} TIM1_OCInitTypeDef; | |
/* TIM1 Input Capture Init structure definition */ | |
typedef struct | |
{ | |
u16 TIM1_Channel; | |
u16 TIM1_ICPolarity; | |
u16 TIM1_ICSelection; | |
u16 TIM1_ICPrescaler; | |
u8 TIM1_ICFilter; | |
} TIM1_ICInitTypeDef; | |
/* BDTR structure definition */ | |
typedef struct | |
{ | |
u16 TIM1_OSSRState; | |
u16 TIM1_OSSIState; | |
u16 TIM1_LOCKLevel; | |
u16 TIM1_DeadTime; | |
u16 TIM1_Break; | |
u16 TIM1_BreakPolarity; | |
u16 TIM1_AutomaticOutput; | |
} TIM1_BDTRInitTypeDef; | |
/* Exported constants --------------------------------------------------------*/ | |
/* TIM1 Output Compare and PWM modes ----------------------------------------*/ | |
#define TIM1_OCMode_Timing ((u16)0x0000) | |
#define TIM1_OCMode_Active ((u16)0x0010) | |
#define TIM1_OCMode_Inactive ((u16)0x0020) | |
#define TIM1_OCMode_Toggle ((u16)0x0030) | |
#define TIM1_OCMode_PWM1 ((u16)0x0060) | |
#define TIM1_OCMode_PWM2 ((u16)0x0070) | |
#define IS_TIM1_OC_MODE(MODE) ((MODE == TIM1_OCMode_Timing) || \ | |
(MODE == TIM1_OCMode_Active) || \ | |
(MODE == TIM1_OCMode_Inactive) || \ | |
(MODE == TIM1_OCMode_Toggle)|| \ | |
(MODE == TIM1_OCMode_PWM1) || \ | |
(MODE == TIM1_OCMode_PWM2)) | |
#define IS_TIM1_OCM(MODE)((MODE == TIM1_OCMode_Timing) || \ | |
(MODE == TIM1_OCMode_Active) || \ | |
(MODE == TIM1_OCMode_Inactive) || \ | |
(MODE == TIM1_OCMode_Toggle)|| \ | |
(MODE == TIM1_OCMode_PWM1) || \ | |
(MODE == TIM1_OCMode_PWM2) || \ | |
(MODE == TIM1_ForcedAction_Active) || \ | |
(MODE == TIM1_ForcedAction_InActive)) | |
/* TIM1 One Pulse Mode ------------------------------------------------------*/ | |
#define TIM1_OPMode_Single ((u16)0x0001) | |
#define TIM1_OPMode_Repetitive ((u16)0x0000) | |
#define IS_TIM1_OPM_MODE(MODE) ((MODE == TIM1_OPMode_Single) || \ | |
(MODE == TIM1_OPMode_Repetitive)) | |
/* TIM1 Channel -------------------------------------------------------------*/ | |
#define TIM1_Channel_1 ((u16)0x0000) | |
#define TIM1_Channel_2 ((u16)0x0001) | |
#define TIM1_Channel_3 ((u16)0x0002) | |
#define TIM1_Channel_4 ((u16)0x0003) | |
#define IS_TIM1_CHANNEL(CHANNEL) ((CHANNEL == TIM1_Channel_1) || \ | |
(CHANNEL == TIM1_Channel_2) || \ | |
(CHANNEL == TIM1_Channel_3) || \ | |
(CHANNEL == TIM1_Channel_4)) | |
#define IS_TIM1_PWMI_CHANNEL(CHANNEL) ((CHANNEL == TIM1_Channel_1) || \ | |
(CHANNEL == TIM1_Channel_2)) | |
#define IS_TIM1_COMPLEMENTARY_CHANNEL(CHANNEL) ((CHANNEL == TIM1_Channel_1) || \ | |
(CHANNEL == TIM1_Channel_2) || \ | |
(CHANNEL == TIM1_Channel_3)) | |
/* TIM1 Clock Division CKD --------------------------------------------------*/ | |
#define TIM1_CKD_DIV1 ((u16)0x0000) | |
#define TIM1_CKD_DIV2 ((u16)0x0100) | |
#define TIM1_CKD_DIV4 ((u16)0x0200) | |
#define IS_TIM1_CKD_DIV(DIV) ((DIV == TIM1_CKD_DIV1) || \ | |
(DIV == TIM1_CKD_DIV2) || \ | |
(DIV == TIM1_CKD_DIV4)) | |
/* TIM1 Counter Mode --------------------------------------------------------*/ | |
#define TIM1_CounterMode_Up ((u16)0x0000) | |
#define TIM1_CounterMode_Down ((u16)0x0010) | |
#define TIM1_CounterMode_CenterAligned1 ((u16)0x0020) | |
#define TIM1_CounterMode_CenterAligned2 ((u16)0x0040) | |
#define TIM1_CounterMode_CenterAligned3 ((u16)0x0060) | |
#define IS_TIM1_COUNTER_MODE(MODE) ((MODE == TIM1_CounterMode_Up) || \ | |
(MODE == TIM1_CounterMode_Down) || \ | |
(MODE == TIM1_CounterMode_CenterAligned1) || \ | |
(MODE == TIM1_CounterMode_CenterAligned2) || \ | |
(MODE == TIM1_CounterMode_CenterAligned3)) | |
/* TIM1 Output Compare Polarity ---------------------------------------------*/ | |
#define TIM1_OCPolarity_High ((u16)0x0000) | |
#define TIM1_OCPolarity_Low ((u16)0x0001) | |
#define IS_TIM1_OC_POLARITY(POLARITY) ((POLARITY == TIM1_OCPolarity_High) || \ | |
(POLARITY == TIM1_OCPolarity_Low)) | |
/* TIM1 Output Compare N Polarity -------------------------------------------*/ | |
#define TIM1_OCNPolarity_High ((u16)0x0000) | |
#define TIM1_OCNPolarity_Low ((u16)0x0001) | |
#define IS_TIM1_OCN_POLARITY(POLARITY) ((POLARITY == TIM1_OCNPolarity_High) || \ | |
(POLARITY == TIM1_OCNPolarity_Low)) | |
/* TIM1 Output Compare states -----------------------------------------------*/ | |
#define TIM1_OutputState_Disable ((u16)0x0000) | |
#define TIM1_OutputState_Enable ((u16)0x0001) | |
#define IS_TIM1_OUTPUT_STATE(STATE) ((STATE == TIM1_OutputState_Disable) || \ | |
(STATE == TIM1_OutputState_Enable)) | |
/* TIM1 Output Compare N States ---------------------------------------------*/ | |
#define TIM1_OutputNState_Disable ((u16)0x0000) | |
#define TIM1_OutputNState_Enable ((u16)0x0001) | |
#define IS_TIM1_OUTPUTN_STATE(STATE) ((STATE == TIM1_OutputNState_Disable) || \ | |
(STATE == TIM1_OutputNState_Enable)) | |
/* Break Input enable/disable -----------------------------------------------*/ | |
#define TIM1_Break_Enable ((u16)0x1000) | |
#define TIM1_Break_Disable ((u16)0x0000) | |
#define IS_TIM1_BREAK_STATE(STATE) ((STATE == TIM1_Break_Enable) || \ | |
(STATE == TIM1_Break_Disable)) | |
/* Break Polarity -----------------------------------------------------------*/ | |
#define TIM1_BreakPolarity_Low ((u16)0x0000) | |
#define TIM1_BreakPolarity_High ((u16)0x2000) | |
#define IS_TIM1_BREAK_POLARITY(POLARITY) ((POLARITY == TIM1_BreakPolarity_Low) || \ | |
(POLARITY == TIM1_BreakPolarity_High)) | |
/* TIM1 AOE Bit Set/Reset ---------------------------------------------------*/ | |
#define TIM1_AutomaticOutput_Enable ((u16)0x4000) | |
#define TIM1_AutomaticOutput_Disable ((u16)0x0000) | |
#define IS_TIM1_AUTOMATIC_OUTPUT_STATE(STATE) ((STATE == TIM1_AutomaticOutput_Enable) || \ | |
(STATE == TIM1_AutomaticOutput_Disable)) | |
/* Lock levels --------------------------------------------------------------*/ | |
#define TIM1_LOCKLevel_OFF ((u16)0x0000) | |
#define TIM1_LOCKLevel_1 ((u16)0x0100) | |
#define TIM1_LOCKLevel_2 ((u16)0x0200) | |
#define TIM1_LOCKLevel_3 ((u16)0x0300) | |
#define IS_TIM1_LOCK_LEVEL(LEVEL) ((LEVEL == TIM1_LOCKLevel_OFF) || \ | |
(LEVEL == TIM1_LOCKLevel_1) || \ | |
(LEVEL == TIM1_LOCKLevel_2) || \ | |
(LEVEL == TIM1_LOCKLevel_3)) | |
/* OSSI: Off-State Selection for Idle mode states ---------------------------*/ | |
#define TIM1_OSSIState_Enable ((u16)0x0400) | |
#define TIM1_OSSIState_Disable ((u16)0x0000) | |
#define IS_TIM1_OSSI_STATE(STATE) ((STATE == TIM1_OSSIState_Enable) || \ | |
(STATE == TIM1_OSSIState_Disable)) | |
/* OSSR: Off-State Selection for Run mode states ----------------------------*/ | |
#define TIM1_OSSRState_Enable ((u16)0x0800) | |
#define TIM1_OSSRState_Disable ((u16)0x0000) | |
#define IS_TIM1_OSSR_STATE(STATE) ((STATE == TIM1_OSSRState_Enable) || \ | |
(STATE == TIM1_OSSRState_Disable)) | |
/* TIM1 Output Compare Idle State -------------------------------------------*/ | |
#define TIM1_OCIdleState_Set ((u16)0x0001) | |
#define TIM1_OCIdleState_Reset ((u16)0x0000) | |
#define IS_TIM1_OCIDLE_STATE(STATE) ((STATE == TIM1_OCIdleState_Set) || \ | |
(STATE == TIM1_OCIdleState_Reset)) | |
/* TIM1 Output Compare N Idle State -----------------------------------------*/ | |
#define TIM1_OCNIdleState_Set ((u16)0x0001) | |
#define TIM1_OCNIdleState_Reset ((u16)0x0000) | |
#define IS_TIM1_OCNIDLE_STATE(STATE) ((STATE == TIM1_OCNIdleState_Set) || \ | |
(STATE == TIM1_OCNIdleState_Reset)) | |
/* TIM1 Input Capture Polarity ----------------------------------------------*/ | |
#define TIM1_ICPolarity_Rising ((u16)0x0000) | |
#define TIM1_ICPolarity_Falling ((u16)0x0001) | |
#define IS_TIM1_IC_POLARITY(POLARITY) ((POLARITY == TIM1_ICPolarity_Rising) || \ | |
(POLARITY == TIM1_ICPolarity_Falling)) | |
/* TIM1 Input Capture Selection ---------------------------------------------*/ | |
#define TIM1_ICSelection_DirectTI ((u16)0x0001) | |
#define TIM1_ICSelection_IndirectTI ((u16)0x0002) | |
#define TIM1_ICSelection_TRGI ((u16)0x0003) | |
#define IS_TIM1_IC_SELECTION(SELECTION) ((SELECTION == TIM1_ICSelection_DirectTI) || \ | |
(SELECTION == TIM1_ICSelection_IndirectTI) || \ | |
(SELECTION == TIM1_ICSelection_TRGI)) | |
/* TIM1 Input Capture Prescaler ---------------------------------------------*/ | |
#define TIM1_ICPSC_DIV1 ((u16)0x0000) | |
#define TIM1_ICPSC_DIV2 ((u16)0x0004) | |
#define TIM1_ICPSC_DIV4 ((u16)0x0008) | |
#define TIM1_ICPSC_DIV8 ((u16)0x000C) | |
#define IS_TIM1_IC_PRESCALER(PRESCALER) ((PRESCALER == TIM1_ICPSC_DIV1) || \ | |
(PRESCALER == TIM1_ICPSC_DIV2) || \ | |
(PRESCALER == TIM1_ICPSC_DIV4) || \ | |
(PRESCALER == TIM1_ICPSC_DIV8)) | |
/* TIM1 Input Capture Filer Value ---------------------------------------------*/ | |
#define IS_TIM1_IC_FILTER(ICFILTER) (ICFILTER <= 0xF) | |
/* TIM1 interrupt sources ---------------------------------------------------*/ | |
#define TIM1_IT_Update ((u16)0x0001) | |
#define TIM1_IT_CC1 ((u16)0x0002) | |
#define TIM1_IT_CC2 ((u16)0x0004) | |
#define TIM1_IT_CC3 ((u16)0x0008) | |
#define TIM1_IT_CC4 ((u16)0x0010) | |
#define TIM1_IT_COM ((u16)0x0020) | |
#define TIM1_IT_Trigger ((u16)0x0040) | |
#define TIM1_IT_Break ((u16)0x0080) | |
#define IS_TIM1_IT(IT) (((IT & (u16)0xFF00) == 0x0000) && (IT != 0x0000)) | |
#define IS_TIM1_GET_IT(IT) ((IT == TIM1_IT_Update) || \ | |
(IT == TIM1_IT_CC1) || \ | |
(IT == TIM1_IT_CC2) || \ | |
(IT == TIM1_IT_CC3) || \ | |
(IT == TIM1_IT_CC4) || \ | |
(IT == TIM1_IT_COM) || \ | |
(IT == TIM1_IT_Trigger) || \ | |
(IT == TIM1_IT_Break)) | |
/* TIM1 DMA Base address ----------------------------------------------------*/ | |
#define TIM1_DMABase_CR1 ((u16)0x0000) | |
#define TIM1_DMABase_CR2 ((u16)0x0001) | |
#define TIM1_DMABase_SMCR ((u16)0x0002) | |
#define TIM1_DMABase_DIER ((u16)0x0003) | |
#define TIM1_DMABase_SR ((u16)0x0004) | |
#define TIM1_DMABase_EGR ((u16)0x0005) | |
#define TIM1_DMABase_CCMR1 ((u16)0x0006) | |
#define TIM1_DMABase_CCMR2 ((u16)0x0007) | |
#define TIM1_DMABase_CCER ((u16)0x0008) | |
#define TIM1_DMABase_CNT ((u16)0x0009) | |
#define TIM1_DMABase_PSC ((u16)0x000A) | |
#define TIM1_DMABase_ARR ((u16)0x000B) | |
#define TIM1_DMABase_RCR ((u16)0x000C) | |
#define TIM1_DMABase_CCR1 ((u16)0x000D) | |
#define TIM1_DMABase_CCR2 ((u16)0x000E) | |
#define TIM1_DMABase_CCR3 ((u16)0x000F) | |
#define TIM1_DMABase_CCR4 ((u16)0x0010) | |
#define TIM1_DMABase_BDTR ((u16)0x0011) | |
#define TIM1_DMABase_DCR ((u16)0x0012) | |
#define IS_TIM1_DMA_BASE(BASE) ((BASE == TIM1_DMABase_CR1) || \ | |
(BASE == TIM1_DMABase_CR2) || \ | |
(BASE == TIM1_DMABase_SMCR) || \ | |
(BASE == TIM1_DMABase_DIER) || \ | |
(BASE == TIM1_DMABase_SR) || \ | |
(BASE == TIM1_DMABase_EGR) || \ | |
(BASE == TIM1_DMABase_CCMR1) || \ | |
(BASE == TIM1_DMABase_CCMR2) || \ | |
(BASE == TIM1_DMABase_CCER) || \ | |
(BASE == TIM1_DMABase_CNT) || \ | |
(BASE == TIM1_DMABase_PSC) || \ | |
(BASE == TIM1_DMABase_ARR) || \ | |
(BASE == TIM1_DMABase_RCR) || \ | |
(BASE == TIM1_DMABase_CCR1) || \ | |
(BASE == TIM1_DMABase_CCR2) || \ | |
(BASE == TIM1_DMABase_CCR3) || \ | |
(BASE == TIM1_DMABase_CCR4) || \ | |
(BASE == TIM1_DMABase_BDTR) || \ | |
(BASE == TIM1_DMABase_DCR)) | |
/* TIM1 DMA Burst Length ----------------------------------------------------*/ | |
#define TIM1_DMABurstLength_1Byte ((u16)0x0000) | |
#define TIM1_DMABurstLength_2Bytes ((u16)0x0100) | |
#define TIM1_DMABurstLength_3Bytes ((u16)0x0200) | |
#define TIM1_DMABurstLength_4Bytes ((u16)0x0300) | |
#define TIM1_DMABurstLength_5Bytes ((u16)0x0400) | |
#define TIM1_DMABurstLength_6Bytes ((u16)0x0500) | |
#define TIM1_DMABurstLength_7Bytes ((u16)0x0600) | |
#define TIM1_DMABurstLength_8Bytes ((u16)0x0700) | |
#define TIM1_DMABurstLength_9Bytes ((u16)0x0800) | |
#define TIM1_DMABurstLength_10Bytes ((u16)0x0900) | |
#define TIM1_DMABurstLength_11Bytes ((u16)0x0A00) | |
#define TIM1_DMABurstLength_12Bytes ((u16)0x0B00) | |
#define TIM1_DMABurstLength_13Bytes ((u16)0x0C00) | |
#define TIM1_DMABurstLength_14Bytes ((u16)0x0D00) | |
#define TIM1_DMABurstLength_15Bytes ((u16)0x0E00) | |
#define TIM1_DMABurstLength_16Bytes ((u16)0x0F00) | |
#define TIM1_DMABurstLength_17Bytes ((u16)0x1000) | |
#define TIM1_DMABurstLength_18Bytes ((u16)0x1100) | |
#define IS_TIM1_DMA_LENGTH(LENGTH) ((LENGTH == TIM1_DMABurstLength_1Byte) || \ | |
(LENGTH == TIM1_DMABurstLength_2Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_3Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_4Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_5Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_6Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_7Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_8Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_9Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_10Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_11Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_12Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_13Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_14Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_15Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_16Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_17Bytes) || \ | |
(LENGTH == TIM1_DMABurstLength_18Bytes)) | |
/* TIM1 DMA sources ---------------------------------------------------------*/ | |
#define TIM1_DMA_Update ((u16)0x0100) | |
#define TIM1_DMA_CC1 ((u16)0x0200) | |
#define TIM1_DMA_CC2 ((u16)0x0400) | |
#define TIM1_DMA_CC3 ((u16)0x0800) | |
#define TIM1_DMA_CC4 ((u16)0x1000) | |
#define TIM1_DMA_COM ((u16)0x2000) | |
#define TIM1_DMA_Trigger ((u16)0x4000) | |
#define IS_TIM1_DMA_SOURCE(SOURCE) (((SOURCE & (u16)0x80FF) == 0x0000) && (SOURCE != 0x0000)) | |
/* TIM1 External Trigger Prescaler ------------------------------------------*/ | |
#define TIM1_ExtTRGPSC_OFF ((u16)0x0000) | |
#define TIM1_ExtTRGPSC_DIV2 ((u16)0x1000) | |
#define TIM1_ExtTRGPSC_DIV4 ((u16)0x2000) | |
#define TIM1_ExtTRGPSC_DIV8 ((u16)0x3000) | |
#define IS_TIM1_EXT_PRESCALER(PRESCALER) ((PRESCALER == TIM1_ExtTRGPSC_OFF) || \ | |
(PRESCALER == TIM1_ExtTRGPSC_DIV2) || \ | |
(PRESCALER == TIM1_ExtTRGPSC_DIV4) || \ | |
(PRESCALER == TIM1_ExtTRGPSC_DIV8)) | |
/* TIM1 Internal Trigger Selection ------------------------------------------*/ | |
#define TIM1_TS_ITR0 ((u16)0x0000) | |
#define TIM1_TS_ITR1 ((u16)0x0010) | |
#define TIM1_TS_ITR2 ((u16)0x0020) | |
#define TIM1_TS_ITR3 ((u16)0x0030) | |
#define TIM1_TS_TI1F_ED ((u16)0x0040) | |
#define TIM1_TS_TI1FP1 ((u16)0x0050) | |
#define TIM1_TS_TI2FP2 ((u16)0x0060) | |
#define TIM1_TS_ETRF ((u16)0x0070) | |
#define IS_TIM1_TRIGGER_SELECTION(SELECTION) ((SELECTION == TIM1_TS_ITR0) || \ | |
(SELECTION == TIM1_TS_ITR1) || \ | |
(SELECTION == TIM1_TS_ITR2) || \ | |
(SELECTION == TIM1_TS_ITR3) || \ | |
(SELECTION == TIM1_TS_TI1F_ED) || \ | |
(SELECTION == TIM1_TS_TI1FP1) || \ | |
(SELECTION == TIM1_TS_TI2FP2) || \ | |
(SELECTION == TIM1_TS_ETRF)) | |
#define IS_TIM1_INTERNAL_TRIGGER_SELECTION(SELECTION) ((SELECTION == TIM1_TS_ITR0) || \ | |
(SELECTION == TIM1_TS_ITR1) || \ | |
(SELECTION == TIM1_TS_ITR2) || \ | |
(SELECTION == TIM1_TS_ITR3)) | |
#define IS_TIM1_TIX_TRIGGER_SELECTION(SELECTION) ((SELECTION == TIM1_TS_TI1F_ED) || \ | |
(SELECTION == TIM1_TS_TI1FP1) || \ | |
(SELECTION == TIM1_TS_TI2FP2)) | |
/* TIM1 External Trigger Polarity -------------------------------------------*/ | |
#define TIM1_ExtTRGPolarity_Inverted ((u16)0x8000) | |
#define TIM1_ExtTRGPolarity_NonInverted ((u16)0x0000) | |
#define IS_TIM1_EXT_POLARITY(POLARITY) ((POLARITY == TIM1_ExtTRGPolarity_Inverted) || \ | |
(POLARITY == TIM1_ExtTRGPolarity_NonInverted)) | |
/* TIM1 Prescaler Reload Mode -----------------------------------------------*/ | |
#define TIM1_PSCReloadMode_Update ((u16)0x0000) | |
#define TIM1_PSCReloadMode_Immediate ((u16)0x0001) | |
#define IS_TIM1_PRESCALER_RELOAD(RELOAD) ((RELOAD == TIM1_PSCReloadMode_Update) || \ | |
(RELOAD == TIM1_PSCReloadMode_Immediate)) | |
/* TIM1 Forced Action -------------------------------------------------------*/ | |
#define TIM1_ForcedAction_Active ((u16)0x0050) | |
#define TIM1_ForcedAction_InActive ((u16)0x0040) | |
#define IS_TIM1_FORCED_ACTION(ACTION) ((ACTION == TIM1_ForcedAction_Active) || \ | |
(ACTION == TIM1_ForcedAction_InActive)) | |
/* TIM1 Encoder Mode --------------------------------------------------------*/ | |
#define TIM1_EncoderMode_TI1 ((u16)0x0001) | |
#define TIM1_EncoderMode_TI2 ((u16)0x0002) | |
#define TIM1_EncoderMode_TI12 ((u16)0x0003) | |
#define IS_TIM1_ENCODER_MODE(MODE) ((MODE == TIM1_EncoderMode_TI1) || \ | |
(MODE == TIM1_EncoderMode_TI2) || \ | |
(MODE == TIM1_EncoderMode_TI12)) | |
/* TIM1 Event Source --------------------------------------------------------*/ | |
#define TIM1_EventSource_Update ((u16)0x0001) | |
#define TIM1_EventSource_CC1 ((u16)0x0002) | |
#define TIM1_EventSource_CC2 ((u16)0x0004) | |
#define TIM1_EventSource_CC3 ((u16)0x0008) | |
#define TIM1_EventSource_CC4 ((u16)0x0010) | |
#define TIM1_EventSource_COM ((u16)0x0020) | |
#define TIM1_EventSource_Trigger ((u16)0x0040) | |
#define TIM1_EventSource_Break ((u16)0x0080) | |
#define IS_TIM1_EVENT_SOURCE(SOURCE) (((SOURCE & (u16)0xFF00) == 0x0000) && (SOURCE != 0x0000)) | |
/* TIM1 Update Source -------------------------------------------------------*/ | |
#define TIM1_UpdateSource_Global ((u16)0x0000) | |
#define TIM1_UpdateSource_Regular ((u16)0x0001) | |
#define IS_TIM1_UPDATE_SOURCE(SOURCE) ((SOURCE == TIM1_UpdateSource_Global) || \ | |
(SOURCE == TIM1_UpdateSource_Regular)) | |
/* TIM1 Ouput Compare Preload State ------------------------------------------*/ | |
#define TIM1_OCPreload_Enable ((u16)0x0001) | |
#define TIM1_OCPreload_Disable ((u16)0x0000) | |
#define IS_TIM1_OCPRELOAD_STATE(STATE) ((STATE == TIM1_OCPreload_Enable) || \ | |
(STATE == TIM1_OCPreload_Disable)) | |
/* TIM1 Ouput Compare Fast State ---------------------------------------------*/ | |
#define TIM1_OCFast_Enable ((u16)0x0001) | |
#define TIM1_OCFast_Disable ((u16)0x0000) | |
#define IS_TIM1_OCFAST_STATE(STATE) ((STATE == TIM1_OCFast_Enable) || \ | |
(STATE == TIM1_OCFast_Disable)) | |
/* TIM1 Trigger Output Source -----------------------------------------------*/ | |
#define TIM1_TRGOSource_Reset ((u16)0x0000) | |
#define TIM1_TRGOSource_Enable ((u16)0x0010) | |
#define TIM1_TRGOSource_Update ((u16)0x0020) | |
#define TIM1_TRGOSource_OC1 ((u16)0x0030) | |
#define TIM1_TRGOSource_OC1Ref ((u16)0x0040) | |
#define TIM1_TRGOSource_OC2Ref ((u16)0x0050) | |
#define TIM1_TRGOSource_OC3Ref ((u16)0x0060) | |
#define TIM1_TRGOSource_OC4Ref ((u16)0x0070) | |
#define IS_TIM1_TRGO_SOURCE(SOURCE) ((SOURCE == TIM1_TRGOSource_Reset) || \ | |
(SOURCE == TIM1_TRGOSource_Enable) || \ | |
(SOURCE == TIM1_TRGOSource_Update) || \ | |
(SOURCE == TIM1_TRGOSource_OC1) || \ | |
(SOURCE == TIM1_TRGOSource_OC1Ref) || \ | |
(SOURCE == TIM1_TRGOSource_OC2Ref) || \ | |
(SOURCE == TIM1_TRGOSource_OC3Ref) || \ | |
(SOURCE == TIM1_TRGOSource_OC4Ref)) | |
/* TIM1 Slave Mode ----------------------------------------------------------*/ | |
#define TIM1_SlaveMode_Reset ((u16)0x0004) | |
#define TIM1_SlaveMode_Gated ((u16)0x0005) | |
#define TIM1_SlaveMode_Trigger ((u16)0x0006) | |
#define TIM1_SlaveMode_External1 ((u16)0x0007) | |
#define IS_TIM1_SLAVE_MODE(MODE) ((MODE == TIM1_SlaveMode_Reset) || \ | |
(MODE == TIM1_SlaveMode_Gated) || \ | |
(MODE == TIM1_SlaveMode_Trigger) || \ | |
(MODE == TIM1_SlaveMode_External1)) | |
/* TIM1 TIx External Clock Source -------------------------------------------*/ | |
#define TIM1_TIxExternalCLK1Source_TI1 ((u16)0x0050) | |
#define TIM1_TIxExternalCLK1Source_TI2 ((u16)0x0060) | |
#define TIM1_TIxExternalCLK1Source_TI1ED ((u16)0x0040) | |
#define IS_TIM1_TIXCLK_SOURCE(SOURCE) ((SOURCE == TIM1_TIxExternalCLK1Source_TI1) || \ | |
(SOURCE == TIM1_TIxExternalCLK1Source_TI2) || \ | |
(SOURCE == TIM1_TIxExternalCLK1Source_TI1ED)) | |
/* TIM1 Master Slave Mode ---------------------------------------------------*/ | |
#define TIM1_MasterSlaveMode_Enable ((u16)0x0001) | |
#define TIM1_MasterSlaveMode_Disable ((u16)0x0000) | |
#define IS_TIM1_MSM_STATE(STATE) ((STATE == TIM1_MasterSlaveMode_Enable) || \ | |
(STATE == TIM1_MasterSlaveMode_Disable)) | |
/* TIM1 Flags ---------------------------------------------------------------*/ | |
#define TIM1_FLAG_Update ((u16)0x0001) | |
#define TIM1_FLAG_CC1 ((u16)0x0002) | |
#define TIM1_FLAG_CC2 ((u16)0x0004) | |
#define TIM1_FLAG_CC3 ((u16)0x0008) | |
#define TIM1_FLAG_CC4 ((u16)0x0010) | |
#define TIM1_FLAG_COM ((u16)0x0020) | |
#define TIM1_FLAG_Trigger ((u16)0x0040) | |
#define TIM1_FLAG_Break ((u16)0x0080) | |
#define TIM1_FLAG_CC1OF ((u16)0x0200) | |
#define TIM1_FLAG_CC2OF ((u16)0x0400) | |
#define TIM1_FLAG_CC3OF ((u16)0x0800) | |
#define TIM1_FLAG_CC4OF ((u16)0x1000) | |
#define IS_TIM1_GET_FLAG(FLAG) ((FLAG == TIM1_FLAG_Update) || \ | |
(FLAG == TIM1_FLAG_CC1) || \ | |
(FLAG == TIM1_FLAG_CC2) || \ | |
(FLAG == TIM1_FLAG_CC3) || \ | |
(FLAG == TIM1_FLAG_CC4) || \ | |
(FLAG == TIM1_FLAG_COM) || \ | |
(FLAG == TIM1_FLAG_Trigger) || \ | |
(FLAG == TIM1_FLAG_Break) || \ | |
(FLAG == TIM1_FLAG_CC1OF) || \ | |
(FLAG == TIM1_FLAG_CC2OF) || \ | |
(FLAG == TIM1_FLAG_CC3OF) || \ | |
(FLAG == TIM1_FLAG_CC4OF)) | |
#define IS_TIM1_CLEAR_FLAG(FLAG) (((FLAG & (u16)0xE100) == 0x0000) && (FLAG != 0x0000)) | |
/* Exported macro ------------------------------------------------------------*/ | |
/* Exported functions --------------------------------------------------------*/ | |
void TIM1_DeInit(void); | |
void TIM1_TimeBaseInit(TIM1_TimeBaseInitTypeDef* TIM1_TimeBaseInitStruct); | |
void TIM1_OC1Init(TIM1_OCInitTypeDef* TIM1_OCInitStruct); | |
void TIM1_OC2Init(TIM1_OCInitTypeDef* TIM1_OCInitStruct); | |
void TIM1_OC3Init(TIM1_OCInitTypeDef* TIM1_OCInitStruct); | |
void TIM1_OC4Init(TIM1_OCInitTypeDef* TIM1_OCInitStruct); | |
void TIM1_BDTRConfig(TIM1_BDTRInitTypeDef *TIM1_BDTRInitStruct); | |
void TIM1_ICInit(TIM1_ICInitTypeDef* TIM1_ICInitStruct); | |
void TIM1_PWMIConfig(TIM1_ICInitTypeDef* TIM1_ICInitStruct); | |
void TIM1_TimeBaseStructInit(TIM1_TimeBaseInitTypeDef* TIM1_TimeBaseInitStruct); | |
void TIM1_OCStructInit(TIM1_OCInitTypeDef* TIM1_OCInitStruct); | |
void TIM1_ICStructInit(TIM1_ICInitTypeDef* TIM1_ICInitStruct); | |
void TIM1_BDTRStructInit(TIM1_BDTRInitTypeDef* TIM1_BDTRInitStruct); | |
void TIM1_Cmd(FunctionalState NewState); | |
void TIM1_CtrlPWMOutputs(FunctionalState Newstate); | |
void TIM1_ITConfig(u16 TIM1_IT, FunctionalState NewState); | |
void TIM1_DMAConfig(u16 TIM1_DMABase, u16 TIM1_DMABurstLength); | |
void TIM1_DMACmd(u16 TIM1_DMASource, FunctionalState Newstate); | |
void TIM1_InternalClockConfig(void); | |
void TIM1_ETRClockMode1Config(u16 TIM1_ExtTRGPrescaler, u16 TIM1_ExtTRGPolarity, | |
u16 ExtTRGFilter); | |
void TIM1_ETRClockMode2Config(u16 TIM1_ExtTRGPrescaler, u16 TIM1_ExtTRGPolarity, | |
u16 ExtTRGFilter); | |
void TIM1_ITRxExternalClockConfig(u16 TIM1_InputTriggerSource); | |
void TIM1_TIxExternalClockConfig(u16 TIM1_TIxExternalCLKSource, u16 TIM1_ICPolarity, | |
u8 ICFilter); | |
void TIM1_SelectInputTrigger(u16 TIM1_InputTriggerSource); | |
void TIM1_UpdateDisableConfig(FunctionalState Newstate); | |
void TIM1_UpdateRequestConfig(u8 TIM1_UpdateSource); | |
void TIM1_SelectHallSensor(FunctionalState Newstate); | |
void TIM1_SelectOnePulseMode(u16 TIM1_OPMode); | |
void TIM1_SelectOutputTrigger(u16 TIM1_TRGOSource); | |
void TIM1_SelectSlaveMode(u16 TIM1_SlaveMode); | |
void TIM1_SelectMasterSlaveMode(u16 TIM1_MasterSlaveMode); | |
void TIM1_EncoderInterfaceConfig(u16 TIM1_EncoderMode, u16 TIM1_IC1Polarity, | |
u16 TIM1_IC2Polarity); | |
void TIM1_PrescalerConfig(u16 Prescaler, u16 TIM1_PSCReloadMode); | |
void TIM1_CounterModeConfig(u16 TIM1_CounterMode); | |
void TIM1_ForcedOC1Config(u16 TIM1_ForcedAction); | |
void TIM1_ForcedOC2Config(u16 TIM1_ForcedAction); | |
void TIM1_ForcedOC3Config(u16 TIM1_ForcedAction); | |
void TIM1_ForcedOC4Config(u16 TIM1_ForcedAction); | |
void TIM1_ARRPreloadConfig(FunctionalState Newstate); | |
void TIM1_SelectCOM(FunctionalState Newstate); | |
void TIM1_SelectCCDMA(FunctionalState Newstate); | |
void TIM1_CCPreloadControl(FunctionalState Newstate); | |
void TIM1_OC1PreloadConfig(u16 TIM1_OCPreload); | |
void TIM1_OC2PreloadConfig(u16 TIM1_OCPreload); | |
void TIM1_OC3PreloadConfig(u16 TIM1_OCPreload); | |
void TIM1_OC4PreloadConfig(u16 TIM1_OCPreload); | |
void TIM1_OC1FastConfig(u16 TIM1_OCFast); | |
void TIM1_OC2FastConfig(u16 TIM1_OCFast); | |
void TIM1_OC3FastConfig(u16 TIM1_OCFast); | |
void TIM1_OC4FastConfig(u16 TIM1_OCFast); | |
void TIM1_GenerateEvent(u16 TIM1_EventSource); | |
void TIM1_OC1PolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC1NPolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC2PolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC2NPolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC3PolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC3NPolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_OC4PolarityConfig(u16 TIM1_OCPolarity); | |
void TIM1_CCxCmd(u16 TIM1_Channel, FunctionalState Newstate); | |
void TIM1_CCxNCmd(u16 TIM1_Channel, FunctionalState Newstate); | |
void TIM1_SelectOCxM(u16 TIM1_Channel, u16 TIM1_OCMode); | |
void TIM1_SetAutoreload(u16 Autoreload); | |
void TIM1_SetCompare1(u16 Compare1); | |
void TIM1_SetCompare2(u16 Compare2); | |
void TIM1_SetCompare3(u16 Compare3); | |
void TIM1_SetCompare4(u16 Compare4); | |
void TIM1_SetIC1Prescaler(u16 TIM1_IC1Prescaler); | |
void TIM1_SetIC2Prescaler(u16 TIM1_IC2Prescaler); | |
void TIM1_SetIC3Prescaler(u16 TIM1_IC3Prescaler); | |
void TIM1_SetIC4Prescaler(u16 TIM1_IC4Prescaler); | |
void TIM1_SetClockDivision(u16 TIM1_CKD); | |
u16 TIM1_GetCapture1(void); | |
u16 TIM1_GetCapture2(void); | |
u16 TIM1_GetCapture3(void); | |
u16 TIM1_GetCapture4(void); | |
u16 TIM1_GetCounter(void); | |
u16 TIM1_GetPrescaler(void); | |
FlagStatus TIM1_GetFlagStatus(u16 TIM1_FLAG); | |
void TIM1_ClearFlag(u16 TIM1_Flag); | |
ITStatus TIM1_GetITStatus(u16 TIM1_IT); | |
void TIM1_ClearITPendingBit(u16 TIM1_IT); | |
#endif /*__STM32F10x_TIM1_H */ | |
/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/ |