STM8L15x Standard Peripherals Drivers: stm8l15x_tim1.h Source File

STM8L15x/16x Standard Peripherals Drivers

STM8L15x Standard Peripherals Drivers

stm8l15x_tim1.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm8l15x_tim1.h
00004   * @author  MCD Application Team
00005   * @version V1.5.0
00006   * @date    13-May-2011
00007   * @brief   This file contains all the functions prototypes for the TIM1 firmware
00008   *          library.
00009   ******************************************************************************
00010   * @attention
00011   *
00012   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
00013   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
00014   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
00015   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
00016   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
00017   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
00018   *
00019   * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
00020   ******************************************************************************  
00021   */
00022 
00023 /* Define to prevent recursive inclusion -------------------------------------*/
00024 #ifndef __STM8L15x_TIM1_H
00025 #define __STM8L15x_TIM1_H
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm8l15x.h"
00029 
00030 /** @addtogroup STM8L15x_StdPeriph_Driver
00031   * @{
00032   */
00033 
00034 /** @addtogroup TIM1
00035   * @{
00036   */ 
00037   
00038 /* Exported types ------------------------------------------------------------*/  
00039 /** @defgroup TIM1_Exported_Types
00040   * @{
00041   */
00042 
00043 /** @defgroup TIM1_Output_Compare_Mode
00044   * @{
00045   */
00046 typedef enum
00047 {
00048   TIM1_OCMode_Timing     = ((uint8_t)0x00),
00049   TIM1_OCMode_Active     = ((uint8_t)0x10),
00050   TIM1_OCMode_Inactive   = ((uint8_t)0x20),
00051   TIM1_OCMode_Toggle     = ((uint8_t)0x30),
00052   TIM1_OCMode_PWM1       = ((uint8_t)0x60),
00053   TIM1_OCMode_PWM2       = ((uint8_t)0x70)
00054 }TIM1_OCMode_TypeDef;
00055 
00056 /**
00057   * @}
00058   */
00059   
00060 /** @defgroup TIM1_One_Pulse_Mode
00061   * @{
00062   */
00063 typedef enum
00064 {
00065   TIM1_OPMode_Single                 = ((uint8_t)0x01),
00066   TIM1_OPMode_Repetitive             = ((uint8_t)0x00)
00067 }TIM1_OPMode_TypeDef;
00068 
00069 /**
00070   * @}
00071   */
00072   
00073 /** @defgroup TIM1_Channels
00074   * @{
00075   */
00076 typedef enum
00077 {
00078   TIM1_Channel_1                     = ((uint8_t)0x00),
00079   TIM1_Channel_2                     = ((uint8_t)0x01),
00080   TIM1_Channel_3                     = ((uint8_t)0x02),
00081   TIM1_Channel_4                     = ((uint8_t)0x03)
00082 }TIM1_Channel_TypeDef;
00083 
00084 /**
00085   * @}
00086   */
00087   
00088 /** @defgroup TIM1_Counter_Mode
00089   * @{
00090   */
00091 typedef enum
00092 {
00093   TIM1_CounterMode_Up                = ((uint8_t)0x00),
00094   TIM1_CounterMode_Down              = ((uint8_t)0x10),
00095   TIM1_CounterMode_CenterAligned1    = ((uint8_t)0x20),
00096   TIM1_CounterMode_CenterAligned2    = ((uint8_t)0x40),
00097   TIM1_CounterMode_CenterAligned3    = ((uint8_t)0x60)
00098 }TIM1_CounterMode_TypeDef;
00099 
00100 /**
00101   * @}
00102   */
00103   
00104 /** @defgroup TIM1_Output_Compare_Polarity
00105   * @{
00106   */
00107 typedef enum
00108 {
00109   TIM1_OCPolarity_High               = ((uint8_t)0x00),
00110   TIM1_OCPolarity_Low                = ((uint8_t)0x22)
00111 }TIM1_OCPolarity_TypeDef;
00112 
00113 /**
00114   * @}
00115   */
00116   
00117 /** @defgroup TIM1_Output_Compare_N_Polarity
00118   * @{
00119   */
00120 typedef enum
00121 {
00122   TIM1_OCNPolarity_High              = ((uint8_t)0x00),
00123   TIM1_OCNPolarity_Low               = ((uint8_t)0x88)
00124 }TIM1_OCNPolarity_TypeDef;
00125 
00126 /**
00127   * @}
00128   */
00129   
00130 /** @defgroup TIM1_Output_State
00131   * @{
00132   */
00133 typedef enum
00134 {
00135   TIM1_OutputState_Disable           = ((uint8_t)0x00),
00136   TIM1_OutputState_Enable            = ((uint8_t)0x11)
00137 }TIM1_OutputState_TypeDef;
00138 
00139 /**
00140   * @}
00141   */
00142   
00143 /** @defgroup TIM1_Output_N_State
00144   * @{
00145   */
00146 typedef enum
00147 {
00148   TIM1_OutputNState_Disable = ((uint8_t)0x00),
00149   TIM1_OutputNState_Enable  = ((uint8_t)0x44)
00150 } TIM1_OutputNState_TypeDef;
00151 
00152 /**
00153   * @}
00154   */
00155   
00156 /** @defgroup TIM1_Break_State
00157   * @{
00158   */
00159 typedef enum
00160 {
00161   TIM1_BreakState_Enable             = ((uint8_t)0x10),
00162   TIM1_BreakState_Disable            = ((uint8_t)0x00)
00163 }TIM1_BreakState_TypeDef;
00164 
00165 /**
00166   * @}
00167   */
00168   
00169 /** @defgroup TIM1_Break_Polarity
00170   * @{
00171   */
00172 typedef enum
00173 {
00174   TIM1_BreakPolarity_Low             = ((uint8_t)0x00),
00175   TIM1_BreakPolarity_High            = ((uint8_t)0x20)
00176 }TIM1_BreakPolarity_TypeDef;
00177 
00178 /**
00179   * @}
00180   */
00181   
00182 /** @defgroup TIM1_Automatic_Output
00183   * @{
00184   */
00185 typedef enum
00186 {
00187   TIM1_AutomaticOutput_Enable        = ((uint8_t)0x40),
00188   TIM1_AutomaticOutput_Disable       = ((uint8_t)0x00)
00189 }TIM1_AutomaticOutput_TypeDef;
00190 
00191 /**
00192   * @}
00193   */
00194   
00195 /** @defgroup TIM1_Lock_Level
00196   * @{
00197   */
00198 typedef enum
00199 {
00200   TIM1_LockLevel_Off                 = ((uint8_t)0x00),
00201   TIM1_LockLevel_1                   = ((uint8_t)0x01),
00202   TIM1_LockLevel_2                   = ((uint8_t)0x02),
00203   TIM1_LockLevel_3                   = ((uint8_t)0x03)
00204 }TIM1_LockLevel_TypeDef;
00205 
00206 /**
00207   * @}
00208   */
00209   
00210 /** @defgroup TIM1_OSSI_State
00211   * @{
00212   */
00213 typedef enum
00214 {
00215   TIM1_OSSIState_Enable              = ((uint8_t)0x04),
00216   TIM1_OSSIState_Disable             = ((uint8_t)0x00)
00217 }TIM1_OSSIState_TypeDef;
00218 
00219 /**
00220   * @}
00221   */
00222   
00223 /** @defgroup TIM1_Output_Compare_Idle_state
00224   * @{
00225   */
00226 typedef enum
00227 {
00228   TIM1_OCIdleState_Set               = ((uint8_t)0x55),
00229   TIM1_OCIdleState_Reset             = ((uint8_t)0x00)
00230 }TIM1_OCIdleState_TypeDef;
00231 
00232 /**
00233   * @}
00234   */
00235 
00236 /** @defgroup TIM1_Output_Compare_N_Idle_state
00237   * @{
00238   */
00239 typedef enum
00240 {
00241   TIM1_OCNIdleState_Set             = ((uint8_t)0x2A),
00242   TIM1_OCNIdleState_Reset           = ((uint8_t)0x00)
00243 }TIM1_OCNIdleState_TypeDef;
00244 
00245 /**
00246   * @}
00247   */
00248 
00249 /** @defgroup TIM1_Input_Capture_Polarity
00250   * @{
00251   */
00252 typedef enum
00253 {
00254   TIM1_ICPolarity_Rising            = ((uint8_t)0x00),
00255   TIM1_ICPolarity_Falling           = ((uint8_t)0x01)
00256 }TIM1_ICPolarity_TypeDef;
00257 
00258 /**
00259   * @}
00260   */
00261   
00262 /** @defgroup TIM1_Input_Capture_Selection
00263   * @{
00264   */
00265 typedef enum
00266 {
00267   TIM1_ICSelection_DirectTI          = ((uint8_t)0x01),
00268   TIM1_ICSelection_IndirectTI        = ((uint8_t)0x02),
00269   TIM1_ICSelection_TRGI              = ((uint8_t)0x03)
00270 }TIM1_ICSelection_TypeDef;
00271 
00272 /**
00273   * @}
00274   */
00275   
00276 /** @defgroup TIM1_Input_Capture_Prescaler
00277   * @{
00278   */
00279 typedef enum
00280 {
00281   TIM1_ICPSC_DIV1                    = ((uint8_t)0x00),
00282   TIM1_ICPSC_DIV2                    = ((uint8_t)0x04),
00283   TIM1_ICPSC_DIV4                    = ((uint8_t)0x08),
00284   TIM1_ICPSC_DIV8                    = ((uint8_t)0x0C)
00285 }TIM1_ICPSC_TypeDef;
00286 
00287 /**
00288   * @}
00289   */
00290   
00291 /** @defgroup TIM1_Output_Compare_Reference_Clear
00292   * @{
00293   */
00294 typedef enum
00295 {
00296   TIM1_OCReferenceClear_ETRF       = ((uint8_t)0x08),
00297   TIM1_OCReferenceClear_OCREFCLR   = ((uint8_t)0x00)
00298 }
00299 TIM1_OCReferenceClear_TypeDef;
00300 
00301 /**
00302   * @}
00303   */
00304   
00305 /** @defgroup TIM1_Interrupts
00306   * @{
00307   */
00308 typedef enum
00309 {
00310   TIM1_IT_Update                     = ((uint8_t)0x01),
00311   TIM1_IT_CC1                        = ((uint8_t)0x02),
00312   TIM1_IT_CC2                        = ((uint8_t)0x04),
00313   TIM1_IT_CC3                        = ((uint8_t)0x08),
00314   TIM1_IT_CC4                        = ((uint8_t)0x10),
00315   TIM1_IT_COM                        = ((uint8_t)0x20),
00316   TIM1_IT_Trigger                    = ((uint8_t)0x40),
00317   TIM1_IT_Break                      = ((uint8_t)0x80)
00318 }TIM1_IT_TypeDef;
00319 
00320 /**
00321   * @}
00322   */
00323   
00324 /** @defgroup TIM1_External_Trigger_Prescaler
00325   * @{
00326   */
00327 typedef enum
00328 {
00329   TIM1_ExtTRGPSC_OFF                 = ((uint8_t)0x00),
00330   TIM1_ExtTRGPSC_DIV2                = ((uint8_t)0x10),
00331   TIM1_ExtTRGPSC_DIV4                = ((uint8_t)0x20),
00332   TIM1_ExtTRGPSC_DIV8                = ((uint8_t)0x30)
00333 }TIM1_ExtTRGPSC_TypeDef;
00334 
00335 /**
00336   * @}
00337   */
00338   
00339 /** @defgroup TIM1_Internal_Trigger_Selection
00340   * @{
00341   */
00342 typedef enum
00343 {
00344   TIM1_TRGSelection_TIM4             = ((uint8_t)0x00),  /*!< TRIG Input source =  TIM TRIG Output  */
00345   TIM1_TRGSelection_TIM5             = ((uint8_t)0x10),  /*!< TRIG Input source =  TIM TRIG Output  */
00346   TIM1_TRGSelection_TIM3             = ((uint8_t)0x20),  /*!< TRIG Input source =  TIM TRIG Output  */
00347   TIM1_TRGSelection_TIM2             = ((uint8_t)0x30),  /*!< TRIG Input source =  TIM TRIG Output  */
00348   TIM1_TRGSelection_TI1F_ED          = ((uint8_t)0x40),
00349   TIM1_TRGSelection_TI1FP1           = ((uint8_t)0x50),
00350   TIM1_TRGSelection_TI2FP2           = ((uint8_t)0x60),
00351   TIM1_TRGSelection_ETRF             = ((uint8_t)0x70)
00352 }TIM1_TRGSelection_TypeDef;
00353 
00354 /**
00355   * @}
00356   */
00357   
00358 /** @defgroup TIM1_TI_External_Clock_Source
00359   * @{
00360   */
00361 typedef enum
00362 {
00363   TIM1_TIxExternalCLK1Source_TI1ED   = ((uint8_t)0x40),
00364   TIM1_TIxExternalCLK1Source_TI1     = ((uint8_t)0x50),
00365   TIM1_TIxExternalCLK1Source_TI2     = ((uint8_t)0x60)
00366 }TIM1_TIxExternalCLK1Source_TypeDef;
00367 
00368 /**
00369   * @}
00370   */
00371   
00372 /** @defgroup TIM1_External_Trigger_Polarity
00373   * @{
00374   */
00375 typedef enum
00376 {
00377   TIM1_ExtTRGPolarity_Inverted       = ((uint8_t)0x80),
00378   TIM1_ExtTRGPolarity_NonInverted    = ((uint8_t)0x00)
00379 }TIM1_ExtTRGPolarity_TypeDef;
00380 
00381 /**
00382   * @}
00383   */
00384   
00385 /** @defgroup TIM1_Prescaler_Reload_Mode
00386   * @{
00387   */
00388 typedef enum
00389 {
00390   TIM1_PSCReloadMode_Update          = ((uint8_t)0x00),
00391   TIM1_PSCReloadMode_Immediate       = ((uint8_t)0x01)
00392 }TIM1_PSCReloadMode_TypeDef;
00393 
00394 /**
00395   * @}
00396   */
00397   
00398 /** @defgroup TIM1_Encoder_Mode
00399   * @{
00400   */
00401 typedef enum
00402 {
00403   TIM1_EncoderMode_TI1               = ((uint8_t)0x01),
00404   TIM1_EncoderMode_TI2               = ((uint8_t)0x02),
00405   TIM1_EncoderMode_TI12              = ((uint8_t)0x03)
00406 }TIM1_EncoderMode_TypeDef;
00407 
00408 /**
00409   * @}
00410   */
00411   
00412 /** @defgroup TIM1_Event_Source
00413   * @{
00414   */
00415 typedef enum
00416 {
00417   TIM1_EventSource_Update            = ((uint8_t)0x01),
00418   TIM1_EventSource_CC1               = ((uint8_t)0x02),
00419   TIM1_EventSource_CC2               = ((uint8_t)0x04),
00420   TIM1_EventSource_CC3               = ((uint8_t)0x08),
00421   TIM1_EventSource_CC4               = ((uint8_t)0x10),
00422   TIM1_EventSource_COM               = ((uint8_t)0x20),
00423   TIM1_EventSource_Trigger           = ((uint8_t)0x40),
00424   TIM1_EventSource_Break             = ((uint8_t)0x80)
00425 }TIM1_EventSource_TypeDef;
00426 
00427 /**
00428   * @}
00429   */
00430   
00431 /** @defgroup TIM1_Update_Source
00432   * @{
00433   */
00434 typedef enum
00435 {
00436   TIM1_UpdateSource_Global           = ((uint8_t)0x00),
00437   TIM1_UpdateSource_Regular          = ((uint8_t)0x01)
00438 }TIM1_UpdateSource_TypeDef;
00439 
00440 /**
00441   * @}
00442   */
00443   
00444 /** @defgroup TIM1_Trigger_Output_Source
00445   * @{
00446   */
00447 typedef enum
00448 {
00449   TIM1_TRGOSource_Reset              = ((uint8_t)0x00),
00450   TIM1_TRGOSource_Enable             = ((uint8_t)0x10),
00451   TIM1_TRGOSource_Update             = ((uint8_t)0x20),
00452   TIM1_TRGOSource_OC1                = ((uint8_t)0x30),
00453   TIM1_TRGOSource_OC1REF             = ((uint8_t)0x40),
00454   TIM1_TRGOSource_OC2REF             = ((uint8_t)0x50),
00455   TIM1_TRGOSource_OC3REF             = ((uint8_t)0x60),
00456   TIM1_TRGOSource_OC4REF             = ((uint8_t)0x70)
00457 }TIM1_TRGOSource_TypeDef;
00458 
00459 /**
00460   * @}
00461   */
00462   
00463 /** @defgroup TIM1_Slave_Mode
00464   * @{
00465   */
00466 typedef enum
00467 {
00468   TIM1_SlaveMode_Reset               = ((uint8_t)0x04),
00469   TIM1_SlaveMode_Gated               = ((uint8_t)0x05),
00470   TIM1_SlaveMode_Trigger             = ((uint8_t)0x06),
00471   TIM1_SlaveMode_External1           = ((uint8_t)0x07)
00472 }TIM1_SlaveMode_TypeDef;
00473 
00474 /**
00475   * @}
00476   */
00477 
00478 /** @defgroup TIM1_Flags
00479   * @{
00480   */
00481 typedef enum
00482 {
00483   TIM1_FLAG_Update                   = ((uint16_t)0x0001),
00484   TIM1_FLAG_CC1                      = ((uint16_t)0x0002),
00485   TIM1_FLAG_CC2                      = ((uint16_t)0x0004),
00486   TIM1_FLAG_CC3                      = ((uint16_t)0x0008),
00487   TIM1_FLAG_CC4                      = ((uint16_t)0x0010),
00488   TIM1_FLAG_COM                      = ((uint16_t)0x0020),
00489   TIM1_FLAG_Trigger                  = ((uint16_t)0x0040),
00490   TIM1_FLAG_Break                    = ((uint16_t)0x0080),
00491   TIM1_FLAG_CC1OF                    = ((uint16_t)0x0200),
00492   TIM1_FLAG_CC2OF                    = ((uint16_t)0x0400),
00493   TIM1_FLAG_CC3OF                    = ((uint16_t)0x0800),
00494   TIM1_FLAG_CC4OF                    = ((uint16_t)0x1000)
00495 }TIM1_FLAG_TypeDef;
00496 
00497 /**
00498   * @}
00499   */
00500   
00501 /** @defgroup TIM1_Forced_Action
00502   * @{
00503   */
00504 typedef enum
00505 {
00506   TIM1_ForcedAction_Active           = ((uint8_t)0x50),
00507   TIM1_ForcedAction_Inactive         = ((uint8_t)0x40)
00508 }TIM1_ForcedAction_TypeDef;
00509 
00510 /**
00511   * @}
00512   */
00513   
00514 /** @defgroup TIM1_DMA_Source_Requests
00515   * @{
00516   */
00517 typedef enum
00518 {
00519   TIM1_DMASource_Update     = ((uint8_t)0x01),  /*!< TIM1 DMA Update Request*/
00520   TIM1_DMASource_CC1        = ((uint8_t)0x02),  /*!< TIM1 DMA CC1 Request*/
00521   TIM1_DMASource_CC2        = ((uint8_t)0x04),  /*!< TIM1 DMA CC2 Request*/
00522   TIM1_DMASource_CC3        = ((uint8_t)0x08),  /*!< TIM1 DMA CC3 Request*/
00523   TIM1_DMASource_CC4        = ((uint8_t)0x10),  /*!< TIM1 DMA CC4 Request*/
00524   TIM1_DMASource_COM        = ((uint8_t)0x20)  /*!< TIM1 DMA COM Req */
00525 } TIM1_DMASource_TypeDef;
00526 
00527 /**
00528   * @}
00529   */
00530   
00531 /** @defgroup TIM1_DMA_Base_Address
00532   * @{
00533   */
00534 typedef enum
00535 {
00536   TIM1_DMABase_CR1      = ((uint8_t)0x00),
00537   TIM1_DMABase_CR2      = ((uint8_t)0x01),
00538   TIM1_DMABase_SMCR     = ((uint8_t)0x02),
00539   TIM1_DMABase_ETR      = ((uint8_t)0x03),
00540   TIM1_DMABase_DER      = ((uint8_t)0x04),
00541   TIM1_DMABase_IER      = ((uint8_t)0x05),
00542   TIM1_DMABase_SR1      = ((uint8_t)0x06),
00543   TIM1_DMABase_SR2      = ((uint8_t)0x07),
00544   TIM1_DMABase_EGR      = ((uint8_t)0x08),
00545   TIM1_DMABase_CCMR1    = ((uint8_t)0x09),
00546   TIM1_DMABase_CCMR2    = ((uint8_t)0x0A),
00547   TIM1_DMABase_CCMR3    = ((uint8_t)0x0B),
00548   TIM1_DMABase_CCMR4    = ((uint8_t)0x0C),
00549   TIM1_DMABase_CCER1    = ((uint8_t)0x0D),
00550   TIM1_DMABase_CCER2    = ((uint8_t)0x0E),
00551   TIM1_DMABase_CNTH     = ((uint8_t)0x0F),
00552   TIM1_DMABase_CNTL     = ((uint8_t)0x10),
00553   TIM1_DMABase_PSCH     = ((uint8_t)0x11),
00554   TIM1_DMABase_PSCL     = ((uint8_t)0x12),
00555   TIM1_DMABase_ARRH     = ((uint8_t)0x13),
00556   TIM1_DMABase_ARRL     = ((uint8_t)0x14),
00557   TIM1_DMABase_RCR      = ((uint8_t)0x15),
00558   TIM1_DMABase_CCR1H    = ((uint8_t)0x16),
00559   TIM1_DMABase_CCR1L    = ((uint8_t)0x17),
00560   TIM1_DMABase_CCR2H    = ((uint8_t)0x18),
00561   TIM1_DMABase_CCR2L    = ((uint8_t)0x19),
00562   TIM1_DMABase_CCR3H    = ((uint8_t)0x1A),
00563   TIM1_DMABase_CCR3L    = ((uint8_t)0x1B),
00564   TIM1_DMABase_CCR4H    = ((uint8_t)0x1C),
00565   TIM1_DMABase_CCR4L    = ((uint8_t)0x1D),
00566   TIM1_DMABase_BKR      = ((uint8_t)0x1E),
00567   TIM1_DMABase_DTR      = ((uint8_t)0x1F)
00568 
00569 } TIM1_DMABase_TypeDef;
00570 
00571 /**
00572   * @}
00573   */
00574   
00575 /** @defgroup TIM1_DMA_Burst_Length
00576   * @{
00577   */
00578 typedef enum
00579 {
00580   TIM1_DMABurstLength_1Byte      = ((uint8_t)0x00),
00581   TIM1_DMABurstLength_2Byte      = ((uint8_t)0x01),
00582   TIM1_DMABurstLength_3Byte      = ((uint8_t)0x02),
00583   TIM1_DMABurstLength_4Byte      = ((uint8_t)0x03),
00584   TIM1_DMABurstLength_5Byte      = ((uint8_t)0x04),
00585   TIM1_DMABurstLength_6Byte      = ((uint8_t)0x05),
00586   TIM1_DMABurstLength_7Byte      = ((uint8_t)0x06),
00587   TIM1_DMABurstLength_8Byte      = ((uint8_t)0x07),
00588   TIM1_DMABurstLength_9Byte      = ((uint8_t)0x08),
00589   TIM1_DMABurstLength_10Byte     = ((uint8_t)0x09),
00590   TIM1_DMABurstLength_11Byte     = ((uint8_t)0x0A),
00591   TIM1_DMABurstLength_12Byte     = ((uint8_t)0x0B),
00592   TIM1_DMABurstLength_13Byte     = ((uint8_t)0x0C),
00593   TIM1_DMABurstLength_14Byte     = ((uint8_t)0x0D),
00594   TIM1_DMABurstLength_15Byte     = ((uint8_t)0x0E),
00595   TIM1_DMABurstLength_16Byte     = ((uint8_t)0x0F),
00596   TIM1_DMABurstLength_17Byte     = ((uint8_t)0x10),
00597   TIM1_DMABurstLength_18Byte     = ((uint8_t)0x11),
00598   TIM1_DMABurstLength_19Byte     = ((uint8_t)0x12),
00599   TIM1_DMABurstLength_20Byte     = ((uint8_t)0x13),
00600   TIM1_DMABurstLength_21Byte     = ((uint8_t)0x14),
00601   TIM1_DMABurstLength_22Byte     = ((uint8_t)0x15),
00602   TIM1_DMABurstLength_23Byte     = ((uint8_t)0x16),
00603   TIM1_DMABurstLength_24Byte     = ((uint8_t)0x17),
00604   TIM1_DMABurstLength_25Byte     = ((uint8_t)0x18),
00605   TIM1_DMABurstLength_26Byte     = ((uint8_t)0x19),
00606   TIM1_DMABurstLength_27Byte     = ((uint8_t)0x1A),
00607   TIM1_DMABurstLength_28Byte     = ((uint8_t)0x1B),
00608   TIM1_DMABurstLength_29Byte     = ((uint8_t)0x1C),
00609   TIM1_DMABurstLength_30Byte     = ((uint8_t)0x1D),
00610   TIM1_DMABurstLength_31Byte     = ((uint8_t)0x1E),
00611   TIM1_DMABurstLength_32Byte     = ((uint8_t)0x1F)
00612 
00613 } TIM1_DMABurstLength_TypeDef;
00614 
00615 /**
00616   * @}
00617   */
00618   
00619 /**
00620   * @}
00621   */
00622 
00623 /* Exported constants --------------------------------------------------------*/
00624 /* Exported macros -----------------------------------------------------------*/
00625 /** @defgroup TIM1_Exported_Macros
00626   * @{
00627   */
00628 #define IS_TIM1_OC_MODE(MODE) (((MODE) ==  TIM1_OCMode_Timing) || \
00629                                ((MODE) == TIM1_OCMode_Active) || \
00630                                ((MODE) == TIM1_OCMode_Inactive) || \
00631                                ((MODE) == TIM1_OCMode_Toggle)|| \
00632                                ((MODE) == TIM1_OCMode_PWM1) || \
00633                                ((MODE) == TIM1_OCMode_PWM2))
00634 
00635 #define IS_TIM1_OCM(MODE)(((MODE) ==  TIM1_OCMode_Timing) || \
00636                           ((MODE) == TIM1_OCMode_Active) || \
00637                           ((MODE) == TIM1_OCMode_Inactive) || \
00638                           ((MODE) == TIM1_OCMode_Toggle)|| \
00639                           ((MODE) == TIM1_OCMode_PWM1) || \
00640                           ((MODE) == TIM1_OCMode_PWM2) || \
00641                           ((MODE) == (uint8_t)TIM1_ForcedAction_Active) || \
00642                           ((MODE) == (uint8_t)TIM1_ForcedAction_Inactive))
00643 
00644 #define IS_TIM1_OPM_MODE(MODE) (((MODE) == TIM1_OPMode_Single) || \
00645                                 ((MODE) == TIM1_OPMode_Repetitive))
00646 
00647 #define IS_TIM1_CHANNEL(CHANNEL) (((CHANNEL) == TIM1_Channel_1) || \
00648                                   ((CHANNEL) == TIM1_Channel_2) || \
00649                                   ((CHANNEL) == TIM1_Channel_3) || \
00650                                   ((CHANNEL) == TIM1_Channel_4))
00651 
00652 #define IS_TIM1_PWMI_CHANNEL(CHANNEL) (((CHANNEL) == TIM1_Channel_1) || \
00653                                        ((CHANNEL) == TIM1_Channel_2))
00654 
00655 #define IS_TIM1_COMPLEMENTARY_CHANNEL(CHANNEL) (((CHANNEL) == TIM1_Channel_1) || \
00656     ((CHANNEL) == TIM1_Channel_2) || \
00657     ((CHANNEL) == TIM1_Channel_3))
00658 
00659 #define IS_TIM1_COUNTER_MODE(MODE) (((MODE) == TIM1_CounterMode_Up) || \
00660                                     ((MODE) == TIM1_CounterMode_Down) || \
00661                                     ((MODE) == TIM1_CounterMode_CenterAligned1) || \
00662                                     ((MODE) == TIM1_CounterMode_CenterAligned2) || \
00663                                     ((MODE) == TIM1_CounterMode_CenterAligned3))
00664 
00665 #define IS_TIM1_OC_POLARITY(POLARITY) (((POLARITY) == TIM1_OCPolarity_High) || \
00666                                        ((POLARITY) == TIM1_OCPolarity_Low))
00667 
00668 #define IS_TIM1_OCN_POLARITY(POLARITY) (((POLARITY) == TIM1_OCNPolarity_High) || \
00669                                         ((POLARITY) == TIM1_OCNPolarity_Low))
00670 
00671 #define IS_TIM1_OUTPUT_STATE(STATE) (((STATE) == TIM1_OutputState_Disable) || \
00672                                      ((STATE) == TIM1_OutputState_Enable))
00673 
00674 #define IS_TIM1_OUTPUTN_STATE(STATE) (((STATE) == TIM1_OutputNState_Disable) ||\
00675                                       ((STATE) == TIM1_OutputNState_Enable))
00676 
00677 #define IS_TIM1_BREAK_STATE(STATE) (((STATE) == TIM1_BreakState_Enable) || \
00678                                     ((STATE) == TIM1_BreakState_Disable))
00679 
00680 #define IS_TIM1_BREAK_POLARITY(POLARITY) (((POLARITY) == TIM1_BreakPolarity_Low) || \
00681     ((POLARITY) == TIM1_BreakPolarity_High))
00682 
00683 #define IS_TIM1_AUTOMATIC_OUTPUT_STATE(STATE) (((STATE) == TIM1_AutomaticOutput_Enable) || \
00684     ((STATE) == TIM1_AutomaticOutput_Disable))
00685 
00686 #define IS_TIM1_LOCK_LEVEL(LEVEL) (((LEVEL) == TIM1_LockLevel_Off) || \
00687                                    ((LEVEL) == TIM1_LockLevel_1) || \
00688                                    ((LEVEL) == TIM1_LockLevel_2) || \
00689                                    ((LEVEL) == TIM1_LockLevel_3))
00690 
00691 #define IS_TIM1_OSSI_STATE(STATE) (((STATE) == TIM1_OSSIState_Enable) || \
00692                                    ((STATE) == TIM1_OSSIState_Disable))
00693 
00694 #define IS_TIM1_OCIDLE_STATE(STATE) (((STATE) == TIM1_OCIdleState_Set) || \
00695                                      ((STATE) == TIM1_OCIdleState_Reset))
00696 
00697 #define IS_TIM1_OCNIDLE_STATE(STATE) (((STATE) == TIM1_OCNIdleState_Set) || \
00698                                       ((STATE) == TIM1_OCNIdleState_Reset))
00699 
00700 #define IS_TIM1_IC_POLARITY(POLARITY) (((POLARITY) == TIM1_ICPolarity_Rising) || \
00701                                        ((POLARITY) == TIM1_ICPolarity_Falling))
00702 
00703 #define IS_TIM1_IC_SELECTION(SELECTION) (((SELECTION) == TIM1_ICSelection_DirectTI) || \
00704     ((SELECTION) == TIM1_ICSelection_IndirectTI) || \
00705     ((SELECTION) == TIM1_ICSelection_TRGI))
00706 
00707 #define IS_TIM1_IC_PRESCALER(PRESCALER) (((PRESCALER) == TIM1_ICPSC_DIV1) || \
00708     ((PRESCALER) == TIM1_ICPSC_DIV2) || \
00709     ((PRESCALER) == TIM1_ICPSC_DIV4) || \
00710     ((PRESCALER) == TIM1_ICPSC_DIV8))
00711 
00712 #define IS_TIM1_OCREFERENCECECLEAR_SOURCE(SOURCE) (((SOURCE) == TIM1_OCReferenceClear_ETRF) || \
00713     ((SOURCE) == TIM1_OCReferenceClear_OCREFCLR))
00714 
00715 #define IS_TIM1_IT(IT) ((IT) != 0x00)
00716 
00717 #define IS_TIM1_GET_IT(IT) (((IT) == TIM1_IT_Update) || \
00718                             ((IT) == TIM1_IT_CC1) || \
00719                             ((IT) == TIM1_IT_CC2) || \
00720                             ((IT) == TIM1_IT_CC3) || \
00721                             ((IT) == TIM1_IT_CC4) || \
00722                             ((IT) == TIM1_IT_COM) || \
00723                             ((IT) == TIM1_IT_Trigger) || \
00724                             ((IT) == TIM1_IT_Break))
00725 
00726 #define IS_TIM1_EXT_PRESCALER(PRESCALER) (((PRESCALER) == TIM1_ExtTRGPSC_OFF) || \
00727     ((PRESCALER) == TIM1_ExtTRGPSC_DIV2) || \
00728     ((PRESCALER) == TIM1_ExtTRGPSC_DIV4) || \
00729     ((PRESCALER) == TIM1_ExtTRGPSC_DIV8))
00730 
00731 #define IS_TIM1_TRIGGER_SELECTION(SELECTION) \
00732   (((SELECTION) == TIM1_TRGSelection_TIM2) || \
00733    ((SELECTION) == TIM1_TRGSelection_TIM3) || \
00734    ((SELECTION) == TIM1_TRGSelection_TIM4) || \
00735    ((SELECTION) == TIM1_TRGSelection_TIM5) || \
00736    ((SELECTION) == TIM1_TRGSelection_TI1F_ED) || \
00737    ((SELECTION) == TIM1_TRGSelection_TI1FP1) || \
00738    ((SELECTION) == TIM1_TRGSelection_TI2FP2) || \
00739    ((SELECTION) == TIM1_TRGSelection_ETRF))
00740 
00741 
00742 #define IS_TIM1_TIX_TRIGGER_SELECTION(SELECTION) \
00743   (((SELECTION) == TIM1_TRGSelection_TI1F_ED) || \
00744    ((SELECTION) == TIM1_TRGSelection_TI1FP1) || \
00745    ((SELECTION) == TIM1_TRGSelection_TI2FP2))
00746 
00747 #define IS_TIM1_TIXCLK_SOURCE(SOURCE)  (((SOURCE) == TIM1_TIxExternalCLK1Source_TI1ED) || \
00748                                         ((SOURCE) == TIM1_TIxExternalCLK1Source_TI2) || \
00749                                         ((SOURCE) == TIM1_TIxExternalCLK1Source_TI1))
00750 
00751 #define IS_TIM1_EXT_POLARITY(POLARITY) (((POLARITY) == TIM1_ExtTRGPolarity_Inverted) || \
00752                                         ((POLARITY) == TIM1_ExtTRGPolarity_NonInverted))
00753 
00754 #define IS_TIM1_PRESCALER_RELOAD(RELOAD) (((RELOAD) == TIM1_PSCReloadMode_Update) || \
00755     ((RELOAD) == TIM1_PSCReloadMode_Immediate))
00756 
00757 #define IS_TIM1_ENCODER_MODE(MODE) (((MODE) == TIM1_EncoderMode_TI1) || \
00758                                     ((MODE) == TIM1_EncoderMode_TI2) || \
00759                                     ((MODE) == TIM1_EncoderMode_TI12))
00760 
00761 #define IS_TIM1_EVENT_SOURCE(SOURCE) ((SOURCE) != 0x00)
00762 
00763 #define IS_TIM1_TRGO_SOURCE(SOURCE) (((SOURCE) == TIM1_TRGOSource_Reset) || \
00764                                      ((SOURCE) == TIM1_TRGOSource_Enable) || \
00765                                      ((SOURCE) == TIM1_TRGOSource_Update) || \
00766                                      ((SOURCE) == TIM1_TRGOSource_OC1)  || \
00767                                      ((SOURCE) == TIM1_TRGOSource_OC1REF) || \
00768                                      ((SOURCE) == TIM1_TRGOSource_OC2REF) || \
00769                                      ((SOURCE) == TIM1_TRGOSource_OC3REF) || \
00770                                      ((SOURCE) == TIM1_TRGOSource_OC4REF))
00771 
00772 
00773 #define IS_TIM1_UPDATE_SOURCE(SOURCE) (((SOURCE) == TIM1_UpdateSource_Global) || \
00774                                        ((SOURCE) == TIM1_UpdateSource_Regular))
00775 
00776 #define IS_TIM1_GET_FLAG(FLAG) (((FLAG) == TIM1_FLAG_Update) || \
00777                                 ((FLAG) == TIM1_FLAG_CC1)    || \
00778                                 ((FLAG) == TIM1_FLAG_CC2)    || \
00779                                 ((FLAG) == TIM1_FLAG_CC3)    || \
00780                                 ((FLAG) == TIM1_FLAG_CC4)    || \
00781                                 ((FLAG) == TIM1_FLAG_COM)    || \
00782                                 ((FLAG) == TIM1_FLAG_Trigger)|| \
00783                                 ((FLAG) == TIM1_FLAG_Break)  || \
00784                                 ((FLAG) == TIM1_FLAG_CC1OF)  || \
00785                                 ((FLAG) == TIM1_FLAG_CC2OF)  || \
00786                                 ((FLAG) == TIM1_FLAG_CC3OF)  || \
00787                                 ((FLAG) == TIM1_FLAG_CC4OF))
00788 
00789 
00790 #define IS_TIM1_SLAVE_MODE(MODE) (((MODE) == TIM1_SlaveMode_Reset) || \
00791                                   ((MODE) == TIM1_SlaveMode_Gated) || \
00792                                   ((MODE) == TIM1_SlaveMode_Trigger) || \
00793                                   ((MODE) == TIM1_SlaveMode_External1))
00794 
00795 #define IS_TIM1_CLEAR_FLAG(FLAG) ((((uint16_t)(FLAG) & (uint16_t)0xE100) == 0x0000) && ((FLAG) != 0x0000))
00796 
00797 #define IS_TIM1_FORCED_ACTION(ACTION) (((ACTION) == TIM1_ForcedAction_Active) || \
00798                                        ((ACTION) == TIM1_ForcedAction_Inactive))
00799 
00800 #define IS_TIM1_DMA_SOURCE(SOURCE) \
00801   (((SOURCE) == TIM1_DMASource_Update) || \
00802    ((SOURCE) == TIM1_DMASource_CC1) || \
00803    ((SOURCE) == TIM1_DMASource_CC2) || \
00804    ((SOURCE) == TIM1_DMASource_CC3) || \
00805    ((SOURCE) == TIM1_DMASource_CC4) || \
00806    ((SOURCE) == TIM1_DMASource_COM))
00807 
00808 #define IS_TIM1_DMABase(SOURCE) \
00809   (((SOURCE) == TIM1_DMABase_CR1)  || \
00810    ((SOURCE) == TIM1_DMABase_CR2)  || \
00811    ((SOURCE) == TIM1_DMABase_SMCR) || \
00812    ((SOURCE) == TIM1_DMABase_ETR) || \
00813    ((SOURCE) == TIM1_DMABase_DER) || \
00814    ((SOURCE) == TIM1_DMABase_IER) || \
00815    ((SOURCE) == TIM1_DMABase_SR1) || \
00816    ((SOURCE) == TIM1_DMABase_SR2) || \
00817    ((SOURCE) == TIM1_DMABase_EGR) || \
00818    ((SOURCE) == TIM1_DMABase_CCMR1) || \
00819    ((SOURCE) == TIM1_DMABase_CCMR2  ) || \
00820    ((SOURCE) == TIM1_DMABase_CCMR3) || \
00821    ((SOURCE) == TIM1_DMABase_CCMR4) || \
00822    ((SOURCE) == TIM1_DMABase_CCER1) || \
00823    ((SOURCE) == TIM1_DMABase_CCER2) || \
00824    ((SOURCE) == TIM1_DMABase_CNTH) || \
00825    ((SOURCE) == TIM1_DMABase_CNTL) || \
00826    ((SOURCE) == TIM1_DMABase_PSCH) || \
00827    ((SOURCE) == TIM1_DMABase_PSCL) || \
00828    ((SOURCE) == TIM1_DMABase_ARRH) || \
00829    ((SOURCE) == TIM1_DMABase_ARRL) || \
00830    ((SOURCE) == TIM1_DMABase_RCR)  || \
00831    ((SOURCE) == TIM1_DMABase_CCR1H) || \
00832    ((SOURCE) == TIM1_DMABase_CCR1L) || \
00833    ((SOURCE) == TIM1_DMABase_CCR2H  ) || \
00834    ((SOURCE) == TIM1_DMABase_CCR2L) || \
00835    ((SOURCE) == TIM1_DMABase_CCR3H) || \
00836    ((SOURCE) == TIM1_DMABase_CCR3L) || \
00837    ((SOURCE) == TIM1_DMABase_CCR4H) || \
00838    ((SOURCE) == TIM1_DMABase_CCR4L) || \
00839    ((SOURCE) == TIM1_DMABase_BKR) || \
00840    ((SOURCE) == TIM1_DMABase_DTR))
00841 
00842 #define IS_TIM1_DMABurstLength(SOURCE) \
00843   (((SOURCE)  == TIM1_DMABurstLength_1Byte)  || \
00844    ((SOURCE) == TIM1_DMABurstLength_2Byte)  || \
00845    ((SOURCE) == TIM1_DMABurstLength_3Byte) || \
00846    ((SOURCE) == TIM1_DMABurstLength_4Byte) || \
00847    ((SOURCE) == TIM1_DMABurstLength_5Byte) || \
00848    ((SOURCE) == TIM1_DMABurstLength_6Byte) || \
00849    ((SOURCE) == TIM1_DMABurstLength_7Byte) || \
00850    ((SOURCE) == TIM1_DMABurstLength_8Byte) || \
00851    ((SOURCE) == TIM1_DMABurstLength_9Byte) || \
00852    ((SOURCE) == TIM1_DMABurstLength_10Byte) || \
00853    ((SOURCE) == TIM1_DMABurstLength_11Byte  ) || \
00854    ((SOURCE) == TIM1_DMABurstLength_12Byte) || \
00855    ((SOURCE) == TIM1_DMABurstLength_13Byte) || \
00856    ((SOURCE) == TIM1_DMABurstLength_14Byte) || \
00857    ((SOURCE) == TIM1_DMABurstLength_15Byte) || \
00858    ((SOURCE) == TIM1_DMABurstLength_16Byte) || \
00859    ((SOURCE) == TIM1_DMABurstLength_17Byte) || \
00860    ((SOURCE) == TIM1_DMABurstLength_18Byte) || \
00861    ((SOURCE) == TIM1_DMABurstLength_19Byte) || \
00862    ((SOURCE) == TIM1_DMABurstLength_20Byte) || \
00863    ((SOURCE) == TIM1_DMABurstLength_21Byte) || \
00864    ((SOURCE) == TIM1_DMABurstLength_22Byte) || \
00865    ((SOURCE) == TIM1_DMABurstLength_23Byte) || \
00866    ((SOURCE) == TIM1_DMABurstLength_24Byte) || \
00867    ((SOURCE) == TIM1_DMABurstLength_25Byte) || \
00868    ((SOURCE) == TIM1_DMABurstLength_26Byte) || \
00869    ((SOURCE) == TIM1_DMABurstLength_27Byte) || \
00870    ((SOURCE) == TIM1_DMABurstLength_28Byte) || \
00871    ((SOURCE) == TIM1_DMABurstLength_29Byte) || \
00872    ((SOURCE) == TIM1_DMABurstLength_30Byte) || \
00873    ((SOURCE) == TIM1_DMABurstLength_31Byte) || \
00874    ((SOURCE) == TIM1_DMABurstLength_32Byte))
00875 
00876 /** TIM1 External Trigger Filer Value */
00877 #define IS_TIM1_EXT_TRG_FILTER(FILTER) ((FILTER) <= 0x0F)
00878 
00879 /** TIM1 Input Capture Filer Value */
00880 #define IS_TIM1_IC_FILTER(ICFILTER) ((ICFILTER) <= 0x0F)
00881 /**
00882   * @}
00883   */
00884 
00885 /* Exported Functions -----------------------------------------------------------*/
00886 
00887 /* TimeBase management ********************************************************/
00888 void TIM1_DeInit(void);
00889 void TIM1_TimeBaseInit(uint16_t TIM1_Prescaler,
00890                        TIM1_CounterMode_TypeDef TIM1_CounterMode,
00891                        uint16_t TIM1_Period,
00892                        uint8_t TIM1_RepetitionCounter);
00893 void TIM1_PrescalerConfig(uint16_t Prescaler,
00894                           TIM1_PSCReloadMode_TypeDef TIM1_PSCReloadMode);
00895 void TIM1_CounterModeConfig(TIM1_CounterMode_TypeDef TIM1_CounterMode);
00896 void TIM1_SetCounter(uint16_t Counter);
00897 void TIM1_SetAutoreload(uint16_t Autoreload);
00898 uint16_t TIM1_GetCounter(void);
00899 uint16_t TIM1_GetPrescaler(void);
00900 void TIM1_UpdateDisableConfig(FunctionalState NewState);
00901 void TIM1_UpdateRequestConfig(TIM1_UpdateSource_TypeDef TIM1_UpdateSource);
00902 void TIM1_ARRPreloadConfig(FunctionalState NewState);
00903 void TIM1_SelectOnePulseMode(TIM1_OPMode_TypeDef TIM1_OPMode);
00904 void TIM1_Cmd(FunctionalState NewState);
00905 
00906 /* Output Compare management **************************************************/
00907 void TIM1_OC1Init(TIM1_OCMode_TypeDef TIM1_OCMode,
00908                   TIM1_OutputState_TypeDef TIM1_OutputState,
00909                   TIM1_OutputNState_TypeDef TIM1_OutputNState,
00910                   uint16_t TIM1_Pulse,
00911                   TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
00912                   TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
00913                   TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
00914                   TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState);
00915 void TIM1_OC2Init(TIM1_OCMode_TypeDef TIM1_OCMode,
00916                   TIM1_OutputState_TypeDef TIM1_OutputState,
00917                   TIM1_OutputNState_TypeDef TIM1_OutputNState,
00918                   uint16_t TIM1_Pulse,
00919                   TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
00920                   TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
00921                   TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
00922                   TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState);
00923 void TIM1_OC3Init(TIM1_OCMode_TypeDef TIM1_OCMode,
00924                   TIM1_OutputState_TypeDef TIM1_OutputState,
00925                   TIM1_OutputNState_TypeDef TIM1_OutputNState,
00926                   uint16_t TIM1_Pulse,
00927                   TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
00928                   TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
00929                   TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
00930                   TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState);
00931 void TIM1_BDTRConfig(TIM1_OSSIState_TypeDef TIM1_OSSIState,
00932                      TIM1_LockLevel_TypeDef TIM1_LockLevel,
00933                      uint8_t TIM1_DeadTime,
00934                      TIM1_BreakState_TypeDef TIM1_Break,
00935                      TIM1_BreakPolarity_TypeDef TIM1_BreakPolarity,
00936                      TIM1_AutomaticOutput_TypeDef TIM1_AutomaticOutput);
00937 void TIM1_CtrlPWMOutputs(FunctionalState NewState);
00938 void TIM1_SelectOCxM(TIM1_Channel_TypeDef TIM1_Channel, TIM1_OCMode_TypeDef TIM1_OCMode);
00939 void TIM1_SetCompare1(uint16_t Compare1);
00940 void TIM1_SetCompare2(uint16_t Compare2);
00941 void TIM1_SetCompare3(uint16_t Compare3);
00942 void TIM1_SetCompare4(uint16_t Compare4);
00943 void TIM1_CCPreloadControl(FunctionalState NewState);
00944 void TIM1_ForcedOC1Config(TIM1_ForcedAction_TypeDef TIM1_ForcedAction);
00945 void TIM1_ForcedOC2Config(TIM1_ForcedAction_TypeDef TIM1_ForcedAction);
00946 void TIM1_ForcedOC3Config(TIM1_ForcedAction_TypeDef TIM1_ForcedAction);
00947 void TIM1_OC1PreloadConfig(FunctionalState NewState);
00948 void TIM1_OC2PreloadConfig(FunctionalState NewState);
00949 void TIM1_OC3PreloadConfig(FunctionalState NewState);
00950 void TIM1_OC4PreloadConfig(FunctionalState NewState);
00951 void TIM1_OC1FastConfig(FunctionalState NewState);
00952 void TIM1_OC2FastConfig(FunctionalState NewState);
00953 void TIM1_OC3FastConfig(FunctionalState NewState);
00954 void TIM1_ClearOC1Ref(FunctionalState NewState);
00955 void TIM1_ClearOC2Ref(FunctionalState NewState);
00956 void TIM1_ClearOC3Ref(FunctionalState NewState);
00957 void TIM1_ClearOC4Ref(FunctionalState NewState);
00958 void TIM1_OC1PolarityConfig(TIM1_OCPolarity_TypeDef TIM1_OCPolarity);
00959 void TIM1_OC1NPolarityConfig(TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity);
00960 void TIM1_OC2PolarityConfig(TIM1_OCPolarity_TypeDef TIM1_OCPolarity);
00961 void TIM1_OC2NPolarityConfig(TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity);
00962 void TIM1_OC3PolarityConfig(TIM1_OCPolarity_TypeDef TIM1_OCPolarity);
00963 void TIM1_OC3NPolarityConfig(TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity);
00964 void TIM1_SelectOCREFClear(TIM1_OCReferenceClear_TypeDef TIM1_OCReferenceClear);
00965 void TIM1_SelectCOM(FunctionalState NewState);
00966 void TIM1_CCxCmd(TIM1_Channel_TypeDef TIM1_Channel, FunctionalState NewState);
00967 void TIM1_CCxNCmd(TIM1_Channel_TypeDef TIM1_Channel, FunctionalState NewState);
00968 
00969 /* Input Capture management ***************************************************/
00970 void TIM1_ICInit(TIM1_Channel_TypeDef TIM1_Channel,
00971                  TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
00972                  TIM1_ICSelection_TypeDef TIM1_ICSelection,
00973                  TIM1_ICPSC_TypeDef TIM1_ICPrescaler,
00974                  uint8_t TIM1_ICFilter);
00975 void TIM1_PWMIConfig(TIM1_Channel_TypeDef TIM1_Channel,
00976                      TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
00977                      TIM1_ICSelection_TypeDef TIM1_ICSelection,
00978                      TIM1_ICPSC_TypeDef TIM1_ICPrescaler,
00979                      uint8_t TIM1_ICFilter);
00980 uint16_t TIM1_GetCapture1(void);
00981 uint16_t TIM1_GetCapture2(void);
00982 uint16_t TIM1_GetCapture3(void);
00983 uint16_t TIM1_GetCapture4(void);
00984 void TIM1_SetIC1Prescaler(TIM1_ICPSC_TypeDef TIM1_IC1Prescaler);
00985 void TIM1_SetIC2Prescaler(TIM1_ICPSC_TypeDef TIM1_IC2Prescaler);
00986 void TIM1_SetIC3Prescaler(TIM1_ICPSC_TypeDef TIM1_IC3Prescaler);
00987 void TIM1_SetIC4Prescaler(TIM1_ICPSC_TypeDef TIM1_IC4Prescaler);
00988 
00989 /* Interrupts, DMA and flags management ***************************************/
00990 void TIM1_ITConfig(TIM1_IT_TypeDef TIM1_IT, FunctionalState NewState);
00991 void TIM1_GenerateEvent(TIM1_EventSource_TypeDef TIM1_EventSource);
00992 FlagStatus TIM1_GetFlagStatus(TIM1_FLAG_TypeDef TIM1_FLAG);
00993 void TIM1_ClearFlag(TIM1_FLAG_TypeDef TIM1_FLAG);
00994 ITStatus TIM1_GetITStatus(TIM1_IT_TypeDef TIM1_IT);
00995 void TIM1_ClearITPendingBit(TIM1_IT_TypeDef TIM1_IT);
00996 void TIM1_DMAConfig(TIM1_DMABase_TypeDef TIM1_DMABase,
00997                     TIM1_DMABurstLength_TypeDef TIM1_DMABurstLength);
00998 void TIM1_DMACmd(TIM1_DMASource_TypeDef TIM1_DMASource, FunctionalState NewState);
00999 void TIM1_SelectCCDMA(FunctionalState NewState);
01000 
01001 /* Clocks management **********************************************************/
01002 void TIM1_InternalClockConfig(void);
01003 void TIM1_TIxExternalClockConfig(TIM1_TIxExternalCLK1Source_TypeDef TIM1_TIxExternalCLKSource,
01004                                  TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
01005                                  uint8_t ICFilter);
01006 void TIM1_ETRClockMode1Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
01007                               TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
01008                               uint8_t ExtTRGFilter);
01009 void TIM1_ETRClockMode2Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
01010                               TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
01011                               uint8_t ExtTRGFilter);
01012                               
01013 /* Synchronization management *************************************************/
01014 void TIM1_SelectInputTrigger(TIM1_TRGSelection_TypeDef TIM1_InputTriggerSource);
01015 void TIM1_SelectOutputTrigger(TIM1_TRGOSource_TypeDef TIM1_TRGOSource);
01016 void TIM1_SelectSlaveMode(TIM1_SlaveMode_TypeDef TIM1_SlaveMode);
01017 void TIM1_SelectMasterSlaveMode(FunctionalState NewState);
01018 void TIM1_ETRConfig(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
01019                     TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
01020                     uint8_t ExtTRGFilter);
01021 
01022 /* Specific interface management **********************************************/
01023 void TIM1_EncoderInterfaceConfig(TIM1_EncoderMode_TypeDef TIM1_EncoderMode,
01024                                  TIM1_ICPolarity_TypeDef TIM1_IC1Polarity,
01025                                  TIM1_ICPolarity_TypeDef TIM1_IC2Polarity);
01026 void TIM1_SelectHallSensor(FunctionalState NewState);
01027 
01028 #endif /* __STM8L15x_TIM1_H */
01029 
01030 /**
01031   * @}
01032   */
01033   
01034 /**
01035   * @}
01036   */
01037 
01038 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
STM8S Firmware Library: Overview

 

 

 

For complete documentation on STM8L15x 8-bit microcontrollers platform visit www.st.com