OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_STM32F103_GCC_Rowley/] [ST Library/] [inc/] [stm32f10x_tim.h] - Blame information for rev 582

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 582 jeremybenn
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2
* File Name          : stm32f10x_tim.h
3
* Author             : MCD Application Team
4
* Version            : V2.0.1
5
* Date               : 06/13/2008
6
* Description        : This file contains all the functions prototypes for the
7
*                      TIM firmware library.
8
********************************************************************************
9
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
11
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
12
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
13
* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
14
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15
*******************************************************************************/
16
 
17
/* Define to prevent recursive inclusion -------------------------------------*/
18
#ifndef __STM32F10x_TIM_H
19
#define __STM32F10x_TIM_H
20
 
21
/* Includes ------------------------------------------------------------------*/
22
#include "stm32f10x_map.h"
23
 
24
/* Exported types ------------------------------------------------------------*/
25
 
26
/* TIM Time Base Init structure definition */
27
typedef struct
28
{
29
  u16 TIM_Prescaler;
30
  u16 TIM_CounterMode;
31
  u16 TIM_Period;
32
  u16 TIM_ClockDivision;
33
  u8 TIM_RepetitionCounter;
34
} TIM_TimeBaseInitTypeDef;
35
 
36
/* TIM Output Compare Init structure definition */
37
typedef struct
38
{
39
  u16 TIM_OCMode;
40
  u16 TIM_OutputState;
41
  u16 TIM_OutputNState;
42
  u16 TIM_Pulse;
43
  u16 TIM_OCPolarity;
44
  u16 TIM_OCNPolarity;
45
  u16 TIM_OCIdleState;
46
  u16 TIM_OCNIdleState;
47
} TIM_OCInitTypeDef;
48
 
49
/* TIM Input Capture Init structure definition */
50
typedef struct
51
{
52
  u16 TIM_Channel;
53
  u16 TIM_ICPolarity;
54
  u16 TIM_ICSelection;
55
  u16 TIM_ICPrescaler;
56
  u16 TIM_ICFilter;
57
} TIM_ICInitTypeDef;
58
 
59
/* BDTR structure definition */
60
typedef struct
61
{
62
  u16 TIM_OSSRState;
63
  u16 TIM_OSSIState;
64
  u16 TIM_LOCKLevel;
65
  u16 TIM_DeadTime;
66
  u16 TIM_Break;
67
  u16 TIM_BreakPolarity;
68
  u16 TIM_AutomaticOutput;
69
} TIM_BDTRInitTypeDef;
70
 
71
/* Exported constants --------------------------------------------------------*/
72
 
73
#define IS_TIM_ALL_PERIPH(PERIPH) (((*(u32*)&(PERIPH)) == TIM1_BASE) || \
74
                                   ((*(u32*)&(PERIPH)) == TIM2_BASE) || \
75
                                   ((*(u32*)&(PERIPH)) == TIM3_BASE) || \
76
                                   ((*(u32*)&(PERIPH)) == TIM4_BASE) || \
77
                                   ((*(u32*)&(PERIPH)) == TIM5_BASE) || \
78
                                   ((*(u32*)&(PERIPH)) == TIM6_BASE) || \
79
                                   ((*(u32*)&(PERIPH)) == TIM7_BASE) || \
80
                                   ((*(u32*)&(PERIPH)) == TIM8_BASE))
81
 
82
#define IS_TIM_18_PERIPH(PERIPH) (((*(u32*)&(PERIPH)) == TIM1_BASE) || \
83
                                  ((*(u32*)&(PERIPH)) == TIM8_BASE))
84
 
85
#define IS_TIM_123458_PERIPH(PERIPH) (((*(u32*)&(PERIPH)) == TIM1_BASE) || \
86
                                      ((*(u32*)&(PERIPH)) == TIM2_BASE) || \
87
                                      ((*(u32*)&(PERIPH)) == TIM3_BASE) || \
88
                                      ((*(u32*)&(PERIPH)) == TIM4_BASE) || \
89
                                      ((*(u32*)&(PERIPH)) == TIM5_BASE) || \
90
                                      ((*(u32*)&(PERIPH)) == TIM8_BASE))
91
 
92
/* TIM Output Compare and PWM modes -----------------------------------------*/
93
#define TIM_OCMode_Timing                  ((u16)0x0000)
94
#define TIM_OCMode_Active                  ((u16)0x0010)
95
#define TIM_OCMode_Inactive                ((u16)0x0020)
96
#define TIM_OCMode_Toggle                  ((u16)0x0030)
97
#define TIM_OCMode_PWM1                    ((u16)0x0060)
98
#define TIM_OCMode_PWM2                    ((u16)0x0070)
99
 
100
#define IS_TIM_OC_MODE(MODE) (((MODE) == TIM_OCMode_Timing) || \
101
                              ((MODE) == TIM_OCMode_Active) || \
102
                              ((MODE) == TIM_OCMode_Inactive) || \
103
                              ((MODE) == TIM_OCMode_Toggle)|| \
104
                              ((MODE) == TIM_OCMode_PWM1) || \
105
                              ((MODE) == TIM_OCMode_PWM2))
106
 
107
#define IS_TIM_OCM(MODE) (((MODE) == TIM_OCMode_Timing) || \
108
                          ((MODE) == TIM_OCMode_Active) || \
109
                          ((MODE) == TIM_OCMode_Inactive) || \
110
                          ((MODE) == TIM_OCMode_Toggle)|| \
111
                          ((MODE) == TIM_OCMode_PWM1) || \
112
                          ((MODE) == TIM_OCMode_PWM2) ||        \
113
                          ((MODE) == TIM_ForcedAction_Active) || \
114
                          ((MODE) == TIM_ForcedAction_InActive))
115
/* TIM One Pulse Mode -------------------------------------------------------*/
116
#define TIM_OPMode_Single                  ((u16)0x0008)
117
#define TIM_OPMode_Repetitive              ((u16)0x0000)
118
 
119
#define IS_TIM_OPM_MODE(MODE) (((MODE) == TIM_OPMode_Single) || \
120
                               ((MODE) == TIM_OPMode_Repetitive))
121
 
122
/* TIM Channel -------------------------------------------------------------*/
123
#define TIM_Channel_1                      ((u16)0x0000)
124
#define TIM_Channel_2                      ((u16)0x0004)
125
#define TIM_Channel_3                      ((u16)0x0008)
126
#define TIM_Channel_4                      ((u16)0x000C)
127
 
128
#define IS_TIM_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \
129
                                 ((CHANNEL) == TIM_Channel_2) || \
130
                                 ((CHANNEL) == TIM_Channel_3) || \
131
                                 ((CHANNEL) == TIM_Channel_4))
132
 
133
#define IS_TIM_PWMI_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \
134
                                      ((CHANNEL) == TIM_Channel_2))
135
 
136
#define IS_TIM_COMPLEMENTARY_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \
137
                                               ((CHANNEL) == TIM_Channel_2) || \
138
                                               ((CHANNEL) == TIM_Channel_3))
139
/* TIM Clock Division CKD --------------------------------------------------*/
140
#define TIM_CKD_DIV1                       ((u16)0x0000)
141
#define TIM_CKD_DIV2                       ((u16)0x0100)
142
#define TIM_CKD_DIV4                       ((u16)0x0200)
143
 
144
#define IS_TIM_CKD_DIV(DIV) (((DIV) == TIM_CKD_DIV1) || \
145
                             ((DIV) == TIM_CKD_DIV2) || \
146
                             ((DIV) == TIM_CKD_DIV4))
147
 
148
/* TIM Counter Mode --------------------------------------------------------*/
149
#define TIM_CounterMode_Up                 ((u16)0x0000)
150
#define TIM_CounterMode_Down               ((u16)0x0010)
151
#define TIM_CounterMode_CenterAligned1     ((u16)0x0020)
152
#define TIM_CounterMode_CenterAligned2     ((u16)0x0040)
153
#define TIM_CounterMode_CenterAligned3     ((u16)0x0060)
154
 
155
#define IS_TIM_COUNTER_MODE(MODE) (((MODE) == TIM_CounterMode_Up) ||  \
156
                                   ((MODE) == TIM_CounterMode_Down) || \
157
                                   ((MODE) == TIM_CounterMode_CenterAligned1) || \
158
                                   ((MODE) == TIM_CounterMode_CenterAligned2) || \
159
                                   ((MODE) == TIM_CounterMode_CenterAligned3))
160
 
161
/* TIM Output Compare Polarity ---------------------------------------------*/
162
#define TIM_OCPolarity_High                ((u16)0x0000)
163
#define TIM_OCPolarity_Low                 ((u16)0x0002)
164
 
165
#define IS_TIM_OC_POLARITY(POLARITY) (((POLARITY) == TIM_OCPolarity_High) || \
166
                                      ((POLARITY) == TIM_OCPolarity_Low))
167
 
168
/* TIM Output Compare N Polarity -------------------------------------------*/
169
#define TIM_OCNPolarity_High               ((u16)0x0000)
170
#define TIM_OCNPolarity_Low                ((u16)0x0008)
171
 
172
#define IS_TIM_OCN_POLARITY(POLARITY) (((POLARITY) == TIM_OCNPolarity_High) || \
173
                                       ((POLARITY) == TIM_OCNPolarity_Low))
174
 
175
/* TIM Output Compare states -----------------------------------------------*/
176
#define TIM_OutputState_Disable            ((u16)0x0000)
177
#define TIM_OutputState_Enable             ((u16)0x0001)
178
 
179
#define IS_TIM_OUTPUT_STATE(STATE) (((STATE) == TIM_OutputState_Disable) || \
180
                                    ((STATE) == TIM_OutputState_Enable))
181
 
182
/* TIM Output Compare N States ---------------------------------------------*/
183
#define TIM_OutputNState_Disable           ((u16)0x0000)
184
#define TIM_OutputNState_Enable            ((u16)0x0004)
185
 
186
#define IS_TIM_OUTPUTN_STATE(STATE) (((STATE) == TIM_OutputNState_Disable) || \
187
                                     ((STATE) == TIM_OutputNState_Enable))
188
 
189
/* TIM Capture Compare States -----------------------------------------------*/
190
#define TIM_CCx_Enable                      ((u16)0x0001)
191
#define TIM_CCx_Disable                     ((u16)0x0000)
192
 
193
#define IS_TIM_CCX(CCX) (((CCX) == TIM_CCx_Enable) || \
194
                         ((CCX) == TIM_CCx_Disable))
195
 
196
/* TIM Capture Compare N States --------------------------------------------*/
197
#define TIM_CCxN_Enable                     ((u16)0x0004)
198
#define TIM_CCxN_Disable                    ((u16)0x0000)                                     
199
 
200
#define IS_TIM_CCXN(CCXN) (((CCXN) == TIM_CCxN_Enable) || \
201
                           ((CCXN) == TIM_CCxN_Disable))
202
 
203
/* Break Input enable/disable -----------------------------------------------*/
204
#define TIM_Break_Enable                   ((u16)0x1000)
205
#define TIM_Break_Disable                  ((u16)0x0000)
206
 
207
#define IS_TIM_BREAK_STATE(STATE) (((STATE) == TIM_Break_Enable) || \
208
                                   ((STATE) == TIM_Break_Disable))
209
 
210
/* Break Polarity -----------------------------------------------------------*/
211
#define TIM_BreakPolarity_Low              ((u16)0x0000)
212
#define TIM_BreakPolarity_High             ((u16)0x2000)
213
 
214
#define IS_TIM_BREAK_POLARITY(POLARITY) (((POLARITY) == TIM_BreakPolarity_Low) || \
215
                                         ((POLARITY) == TIM_BreakPolarity_High))
216
 
217
/* TIM AOE Bit Set/Reset ---------------------------------------------------*/
218
#define TIM_AutomaticOutput_Enable         ((u16)0x4000)
219
#define TIM_AutomaticOutput_Disable        ((u16)0x0000)
220
 
221
#define IS_TIM_AUTOMATIC_OUTPUT_STATE(STATE) (((STATE) == TIM_AutomaticOutput_Enable) || \
222
                                              ((STATE) == TIM_AutomaticOutput_Disable))
223
/* Lock levels --------------------------------------------------------------*/
224
#define TIM_LOCKLevel_OFF                  ((u16)0x0000)
225
#define TIM_LOCKLevel_1                    ((u16)0x0100)
226
#define TIM_LOCKLevel_2                    ((u16)0x0200)
227
#define TIM_LOCKLevel_3                    ((u16)0x0300)
228
 
229
#define IS_TIM_LOCK_LEVEL(LEVEL) (((LEVEL) == TIM_LOCKLevel_OFF) || \
230
                                  ((LEVEL) == TIM_LOCKLevel_1) || \
231
                                  ((LEVEL) == TIM_LOCKLevel_2) || \
232
                                  ((LEVEL) == TIM_LOCKLevel_3))
233
 
234
/* OSSI: Off-State Selection for Idle mode states ---------------------------*/
235
#define TIM_OSSIState_Enable               ((u16)0x0400)
236
#define TIM_OSSIState_Disable              ((u16)0x0000)
237
 
238
#define IS_TIM_OSSI_STATE(STATE) (((STATE) == TIM_OSSIState_Enable) || \
239
                                  ((STATE) == TIM_OSSIState_Disable))
240
 
241
/* OSSR: Off-State Selection for Run mode states ----------------------------*/
242
#define TIM_OSSRState_Enable               ((u16)0x0800)
243
#define TIM_OSSRState_Disable              ((u16)0x0000)
244
 
245
#define IS_TIM_OSSR_STATE(STATE) (((STATE) == TIM_OSSRState_Enable) || \
246
                                  ((STATE) == TIM_OSSRState_Disable))
247
 
248
/* TIM Output Compare Idle State -------------------------------------------*/
249
#define TIM_OCIdleState_Set                ((u16)0x0100)
250
#define TIM_OCIdleState_Reset              ((u16)0x0000)
251
 
252
#define IS_TIM_OCIDLE_STATE(STATE) (((STATE) == TIM_OCIdleState_Set) || \
253
                                    ((STATE) == TIM_OCIdleState_Reset))
254
 
255
/* TIM Output Compare N Idle State -----------------------------------------*/
256
#define TIM_OCNIdleState_Set               ((u16)0x0200)
257
#define TIM_OCNIdleState_Reset             ((u16)0x0000)
258
 
259
#define IS_TIM_OCNIDLE_STATE(STATE) (((STATE) == TIM_OCNIdleState_Set) || \
260
                                     ((STATE) == TIM_OCNIdleState_Reset))
261
 
262
/* TIM Input Capture Polarity ----------------------------------------------*/
263
#define  TIM_ICPolarity_Rising             ((u16)0x0000)
264
#define  TIM_ICPolarity_Falling            ((u16)0x0002)
265
 
266
#define IS_TIM_IC_POLARITY(POLARITY) (((POLARITY) == TIM_ICPolarity_Rising) || \
267
                                      ((POLARITY) == TIM_ICPolarity_Falling))
268
 
269
/* TIM Input Capture Selection ---------------------------------------------*/
270
#define TIM_ICSelection_DirectTI           ((u16)0x0001)
271
#define TIM_ICSelection_IndirectTI         ((u16)0x0002)
272
#define TIM_ICSelection_TRC                ((u16)0x0003)
273
 
274
#define IS_TIM_IC_SELECTION(SELECTION) (((SELECTION) == TIM_ICSelection_DirectTI) || \
275
                                        ((SELECTION) == TIM_ICSelection_IndirectTI) || \
276
                                        ((SELECTION) == TIM_ICSelection_TRC))
277
 
278
/* TIM Input Capture Prescaler ---------------------------------------------*/
279
#define TIM_ICPSC_DIV1                     ((u16)0x0000)
280
#define TIM_ICPSC_DIV2                     ((u16)0x0004)
281
#define TIM_ICPSC_DIV4                     ((u16)0x0008)
282
#define TIM_ICPSC_DIV8                     ((u16)0x000C)
283
 
284
#define IS_TIM_IC_PRESCALER(PRESCALER) (((PRESCALER) == TIM_ICPSC_DIV1) || \
285
                                        ((PRESCALER) == TIM_ICPSC_DIV2) || \
286
                                        ((PRESCALER) == TIM_ICPSC_DIV4) || \
287
                                        ((PRESCALER) == TIM_ICPSC_DIV8))
288
 
289
/* TIM interrupt sources ---------------------------------------------------*/
290
#define TIM_IT_Update                      ((u16)0x0001)
291
#define TIM_IT_CC1                         ((u16)0x0002)
292
#define TIM_IT_CC2                         ((u16)0x0004)
293
#define TIM_IT_CC3                         ((u16)0x0008)
294
#define TIM_IT_CC4                         ((u16)0x0010)
295
#define TIM_IT_COM                         ((u16)0x0020)
296
#define TIM_IT_Trigger                     ((u16)0x0040)
297
#define TIM_IT_Break                       ((u16)0x0080)
298
 
299
#define IS_TIM_IT(IT) ((((IT) & (u16)0xFF00) == 0x0000) && ((IT) != 0x0000))
300
 
301
#define IS_TIM_PERIPH_IT(PERIPH, TIM_IT) ((((((*(u32*)&(PERIPH)) == TIM2_BASE) || (((*(u32*)&(PERIPH)) == TIM3_BASE))||\
302
                                            (((*(u32*)&(PERIPH)) == TIM4_BASE)) || (((*(u32*)&(PERIPH)) == TIM5_BASE))))&& \
303
                                            (((TIM_IT) & (u16)0xFFA0) == 0x0000) && ((TIM_IT) != 0x0000)) ||\
304
                                            (((((*(u32*)&(PERIPH)) == TIM1_BASE) || (((*(u32*)&(PERIPH)) == TIM8_BASE))))&& \
305
                                            (((TIM_IT) & (u16)0xFF00) == 0x0000) && ((TIM_IT) != 0x0000)) ||\
306
                                            (((((*(u32*)&(PERIPH)) == TIM6_BASE) || (((*(u32*)&(PERIPH)) == TIM7_BASE))))&& \
307
                                            (((TIM_IT) & (u16)0xFFFE) == 0x0000) && ((TIM_IT) != 0x0000)))
308
 
309
#define IS_TIM_GET_IT(IT) (((IT) == TIM_IT_Update) || \
310
                           ((IT) == TIM_IT_CC1) || \
311
                           ((IT) == TIM_IT_CC2) || \
312
                           ((IT) == TIM_IT_CC3) || \
313
                           ((IT) == TIM_IT_CC4) || \
314
                           ((IT) == TIM_IT_COM) || \
315
                           ((IT) == TIM_IT_Trigger) || \
316
                           ((IT) == TIM_IT_Break))
317
 
318
/* TIM DMA Base address ----------------------------------------------------*/
319
#define TIM_DMABase_CR1                    ((u16)0x0000)
320
#define TIM_DMABase_CR2                    ((u16)0x0001)
321
#define TIM_DMABase_SMCR                   ((u16)0x0002)
322
#define TIM_DMABase_DIER                   ((u16)0x0003)
323
#define TIM_DMABase_SR                     ((u16)0x0004)
324
#define TIM_DMABase_EGR                    ((u16)0x0005)
325
#define TIM_DMABase_CCMR1                  ((u16)0x0006)
326
#define TIM_DMABase_CCMR2                  ((u16)0x0007)
327
#define TIM_DMABase_CCER                   ((u16)0x0008)
328
#define TIM_DMABase_CNT                    ((u16)0x0009)
329
#define TIM_DMABase_PSC                    ((u16)0x000A)
330
#define TIM_DMABase_ARR                    ((u16)0x000B)
331
#define TIM_DMABase_RCR                    ((u16)0x000C)
332
#define TIM_DMABase_CCR1                   ((u16)0x000D)
333
#define TIM_DMABase_CCR2                   ((u16)0x000E)
334
#define TIM_DMABase_CCR3                   ((u16)0x000F)
335
#define TIM_DMABase_CCR4                   ((u16)0x0010)
336
#define TIM_DMABase_BDTR                   ((u16)0x0011)
337
#define TIM_DMABase_DCR                    ((u16)0x0012)
338
 
339
#define IS_TIM_DMA_BASE(BASE) (((BASE) == TIM_DMABase_CR1) || \
340
                               ((BASE) == TIM_DMABase_CR2) || \
341
                               ((BASE) == TIM_DMABase_SMCR) || \
342
                               ((BASE) == TIM_DMABase_DIER) || \
343
                               ((BASE) == TIM_DMABase_SR) || \
344
                               ((BASE) == TIM_DMABase_EGR) || \
345
                               ((BASE) == TIM_DMABase_CCMR1) || \
346
                               ((BASE) == TIM_DMABase_CCMR2) || \
347
                               ((BASE) == TIM_DMABase_CCER) || \
348
                               ((BASE) == TIM_DMABase_CNT) || \
349
                               ((BASE) == TIM_DMABase_PSC) || \
350
                               ((BASE) == TIM_DMABase_ARR) || \
351
                               ((BASE) == TIM_DMABase_RCR) || \
352
                               ((BASE) == TIM_DMABase_CCR1) || \
353
                               ((BASE) == TIM_DMABase_CCR2) || \
354
                               ((BASE) == TIM_DMABase_CCR3) || \
355
                               ((BASE) == TIM_DMABase_CCR4) || \
356
                               ((BASE) == TIM_DMABase_BDTR) || \
357
                               ((BASE) == TIM_DMABase_DCR))
358
 
359
/* TIM DMA Burst Length ----------------------------------------------------*/
360
#define TIM_DMABurstLength_1Byte           ((u16)0x0000)
361
#define TIM_DMABurstLength_2Bytes          ((u16)0x0100)
362
#define TIM_DMABurstLength_3Bytes          ((u16)0x0200)
363
#define TIM_DMABurstLength_4Bytes          ((u16)0x0300)
364
#define TIM_DMABurstLength_5Bytes          ((u16)0x0400)
365
#define TIM_DMABurstLength_6Bytes          ((u16)0x0500)
366
#define TIM_DMABurstLength_7Bytes          ((u16)0x0600)
367
#define TIM_DMABurstLength_8Bytes          ((u16)0x0700)
368
#define TIM_DMABurstLength_9Bytes          ((u16)0x0800)
369
#define TIM_DMABurstLength_10Bytes         ((u16)0x0900)
370
#define TIM_DMABurstLength_11Bytes         ((u16)0x0A00)
371
#define TIM_DMABurstLength_12Bytes         ((u16)0x0B00)
372
#define TIM_DMABurstLength_13Bytes         ((u16)0x0C00)
373
#define TIM_DMABurstLength_14Bytes         ((u16)0x0D00)
374
#define TIM_DMABurstLength_15Bytes         ((u16)0x0E00)
375
#define TIM_DMABurstLength_16Bytes         ((u16)0x0F00)
376
#define TIM_DMABurstLength_17Bytes         ((u16)0x1000)
377
#define TIM_DMABurstLength_18Bytes         ((u16)0x1100)
378
 
379
#define IS_TIM_DMA_LENGTH(LENGTH) (((LENGTH) == TIM_DMABurstLength_1Byte) || \
380
                                   ((LENGTH) == TIM_DMABurstLength_2Bytes) || \
381
                                   ((LENGTH) == TIM_DMABurstLength_3Bytes) || \
382
                                   ((LENGTH) == TIM_DMABurstLength_4Bytes) || \
383
                                   ((LENGTH) == TIM_DMABurstLength_5Bytes) || \
384
                                   ((LENGTH) == TIM_DMABurstLength_6Bytes) || \
385
                                   ((LENGTH) == TIM_DMABurstLength_7Bytes) || \
386
                                   ((LENGTH) == TIM_DMABurstLength_8Bytes) || \
387
                                   ((LENGTH) == TIM_DMABurstLength_9Bytes) || \
388
                                   ((LENGTH) == TIM_DMABurstLength_10Bytes) || \
389
                                   ((LENGTH) == TIM_DMABurstLength_11Bytes) || \
390
                                   ((LENGTH) == TIM_DMABurstLength_12Bytes) || \
391
                                   ((LENGTH) == TIM_DMABurstLength_13Bytes) || \
392
                                   ((LENGTH) == TIM_DMABurstLength_14Bytes) || \
393
                                   ((LENGTH) == TIM_DMABurstLength_15Bytes) || \
394
                                   ((LENGTH) == TIM_DMABurstLength_16Bytes) || \
395
                                   ((LENGTH) == TIM_DMABurstLength_17Bytes) || \
396
                                   ((LENGTH) == TIM_DMABurstLength_18Bytes))
397
 
398
/* TIM DMA sources ---------------------------------------------------------*/
399
#define TIM_DMA_Update                     ((u16)0x0100)
400
#define TIM_DMA_CC1                        ((u16)0x0200)
401
#define TIM_DMA_CC2                        ((u16)0x0400)
402
#define TIM_DMA_CC3                        ((u16)0x0800)
403
#define TIM_DMA_CC4                        ((u16)0x1000)
404
#define TIM_DMA_COM                        ((u16)0x2000)
405
#define TIM_DMA_Trigger                    ((u16)0x4000)
406
 
407
#define IS_TIM_DMA_SOURCE(SOURCE) ((((SOURCE) & (u16)0x80FF) == 0x0000) && ((SOURCE) != 0x0000))
408
 
409
#define IS_TIM_PERIPH_DMA(PERIPH, SOURCE) ((((((*(u32*)&(PERIPH)) == TIM2_BASE) || (((*(u32*)&(PERIPH)) == TIM3_BASE))||\
410
                                            (((*(u32*)&(PERIPH)) == TIM4_BASE)) || (((*(u32*)&(PERIPH)) == TIM5_BASE))))&& \
411
                                            (((SOURCE) & (u16)0xA0FF) == 0x0000) && ((SOURCE) != 0x0000)) ||\
412
                                            (((((*(u32*)&(PERIPH)) == TIM1_BASE) || (((*(u32*)&(PERIPH)) == TIM8_BASE))))&& \
413
                                            (((SOURCE) & (u16)0x80FF) == 0x0000) && ((SOURCE) != 0x0000)) ||\
414
                                            (((((*(u32*)&(PERIPH)) == TIM6_BASE) || (((*(u32*)&(PERIPH)) == TIM7_BASE))))&& \
415
                                            (((SOURCE) & (u16)0xFEFF) == 0x0000) && ((SOURCE) != 0x0000)))
416
 
417
/* TIM External Trigger Prescaler ------------------------------------------*/
418
#define TIM_ExtTRGPSC_OFF                  ((u16)0x0000)
419
#define TIM_ExtTRGPSC_DIV2                 ((u16)0x1000)
420
#define TIM_ExtTRGPSC_DIV4                 ((u16)0x2000)
421
#define TIM_ExtTRGPSC_DIV8                 ((u16)0x3000)
422
 
423
#define IS_TIM_EXT_PRESCALER(PRESCALER) (((PRESCALER) == TIM_ExtTRGPSC_OFF) || \
424
                                         ((PRESCALER) == TIM_ExtTRGPSC_DIV2) || \
425
                                         ((PRESCALER) == TIM_ExtTRGPSC_DIV4) || \
426
                                         ((PRESCALER) == TIM_ExtTRGPSC_DIV8))
427
 
428
/* TIM Internal Trigger Selection ------------------------------------------*/
429
#define TIM_TS_ITR0                        ((u16)0x0000)
430
#define TIM_TS_ITR1                        ((u16)0x0010)
431
#define TIM_TS_ITR2                        ((u16)0x0020)
432
#define TIM_TS_ITR3                        ((u16)0x0030)
433
#define TIM_TS_TI1F_ED                     ((u16)0x0040)
434
#define TIM_TS_TI1FP1                      ((u16)0x0050)
435
#define TIM_TS_TI2FP2                      ((u16)0x0060)
436
#define TIM_TS_ETRF                        ((u16)0x0070)
437
 
438
#define IS_TIM_TRIGGER_SELECTION(SELECTION) (((SELECTION) == TIM_TS_ITR0) || \
439
                                             ((SELECTION) == TIM_TS_ITR1) || \
440
                                             ((SELECTION) == TIM_TS_ITR2) || \
441
                                             ((SELECTION) == TIM_TS_ITR3) || \
442
                                             ((SELECTION) == TIM_TS_TI1F_ED) || \
443
                                             ((SELECTION) == TIM_TS_TI1FP1) || \
444
                                             ((SELECTION) == TIM_TS_TI2FP2) || \
445
                                             ((SELECTION) == TIM_TS_ETRF))
446
 
447
#define IS_TIM_INTERNAL_TRIGGER_SELECTION(SELECTION) (((SELECTION) == TIM_TS_ITR0) || \
448
                                                      ((SELECTION) == TIM_TS_ITR1) || \
449
                                                      ((SELECTION) == TIM_TS_ITR2) || \
450
                                                      ((SELECTION) == TIM_TS_ITR3))
451
 
452
/* TIM TIx External Clock Source -------------------------------------------*/
453
#define TIM_TIxExternalCLK1Source_TI1      ((u16)0x0050)
454
#define TIM_TIxExternalCLK1Source_TI2      ((u16)0x0060)
455
#define TIM_TIxExternalCLK1Source_TI1ED    ((u16)0x0040)
456
 
457
#define IS_TIM_TIXCLK_SOURCE(SOURCE) (((SOURCE) == TIM_TIxExternalCLK1Source_TI1) || \
458
                                      ((SOURCE) == TIM_TIxExternalCLK1Source_TI2) || \
459
                                      ((SOURCE) == TIM_TIxExternalCLK1Source_TI1ED))
460
 
461
/* TIM External Trigger Polarity -------------------------------------------*/
462
#define TIM_ExtTRGPolarity_Inverted        ((u16)0x8000)
463
#define TIM_ExtTRGPolarity_NonInverted     ((u16)0x0000)
464
 
465
#define IS_TIM_EXT_POLARITY(POLARITY) (((POLARITY) == TIM_ExtTRGPolarity_Inverted) || \
466
                                       ((POLARITY) == TIM_ExtTRGPolarity_NonInverted))
467
 
468
/* TIM Prescaler Reload Mode -----------------------------------------------*/
469
#define TIM_PSCReloadMode_Update           ((u16)0x0000)
470
#define TIM_PSCReloadMode_Immediate        ((u16)0x0001)
471
 
472
#define IS_TIM_PRESCALER_RELOAD(RELOAD) (((RELOAD) == TIM_PSCReloadMode_Update) || \
473
                                         ((RELOAD) == TIM_PSCReloadMode_Immediate))
474
 
475
/* TIM Forced Action -------------------------------------------------------*/
476
#define TIM_ForcedAction_Active            ((u16)0x0050)
477
#define TIM_ForcedAction_InActive          ((u16)0x0040)
478
 
479
#define IS_TIM_FORCED_ACTION(ACTION) (((ACTION) == TIM_ForcedAction_Active) || \
480
                                      ((ACTION) == TIM_ForcedAction_InActive))
481
 
482
/* TIM Encoder Mode --------------------------------------------------------*/
483
#define TIM_EncoderMode_TI1                ((u16)0x0001)
484
#define TIM_EncoderMode_TI2                ((u16)0x0002)
485
#define TIM_EncoderMode_TI12               ((u16)0x0003)
486
 
487
#define IS_TIM_ENCODER_MODE(MODE) (((MODE) == TIM_EncoderMode_TI1) || \
488
                                   ((MODE) == TIM_EncoderMode_TI2) || \
489
                                   ((MODE) == TIM_EncoderMode_TI12))
490
 
491
/* TIM Event Source --------------------------------------------------------*/
492
#define TIM_EventSource_Update             ((u16)0x0001)
493
#define TIM_EventSource_CC1                ((u16)0x0002)
494
#define TIM_EventSource_CC2                ((u16)0x0004)
495
#define TIM_EventSource_CC3                ((u16)0x0008)
496
#define TIM_EventSource_CC4                ((u16)0x0010)
497
#define TIM_EventSource_COM                ((u16)0x0020)
498
#define TIM_EventSource_Trigger            ((u16)0x0040)
499
#define TIM_EventSource_Break              ((u16)0x0080)
500
 
501
#define IS_TIM_EVENT_SOURCE(SOURCE) ((((SOURCE) & (u16)0xFF00) == 0x0000) && ((SOURCE) != 0x0000))
502
 
503
#define IS_TIM_PERIPH_EVENT(PERIPH, EVENT) ((((((*(u32*)&(PERIPH)) == TIM2_BASE) || (((*(u32*)&(PERIPH)) == TIM3_BASE))||\
504
                                            (((*(u32*)&(PERIPH)) == TIM4_BASE)) || (((*(u32*)&(PERIPH)) == TIM5_BASE))))&& \
505
                                            (((EVENT) & (u16)0xFFA0) == 0x0000) && ((EVENT) != 0x0000)) ||\
506
                                            (((((*(u32*)&(PERIPH)) == TIM1_BASE) || (((*(u32*)&(PERIPH)) == TIM8_BASE))))&& \
507
                                            (((EVENT) & (u16)0xFF00) == 0x0000) && ((EVENT) != 0x0000)) ||\
508
                                            (((((*(u32*)&(PERIPH)) == TIM6_BASE) || (((*(u32*)&(PERIPH)) == TIM7_BASE))))&& \
509
                                            (((EVENT) & (u16)0xFFFE) == 0x0000) && ((EVENT) != 0x0000)))
510
 
511
/* TIM Update Source --------------------------------------------------------*/
512
#define TIM_UpdateSource_Global            ((u16)0x0000)
513
#define TIM_UpdateSource_Regular           ((u16)0x0001)
514
 
515
#define IS_TIM_UPDATE_SOURCE(SOURCE) (((SOURCE) == TIM_UpdateSource_Global) || \
516
                                      ((SOURCE) == TIM_UpdateSource_Regular))
517
 
518
/* TIM Ouput Compare Preload State ------------------------------------------*/
519
#define TIM_OCPreload_Enable               ((u16)0x0008)
520
#define TIM_OCPreload_Disable              ((u16)0x0000)
521
 
522
#define IS_TIM_OCPRELOAD_STATE(STATE) (((STATE) == TIM_OCPreload_Enable) || \
523
                                       ((STATE) == TIM_OCPreload_Disable))
524
 
525
/* TIM Ouput Compare Fast State ---------------------------------------------*/
526
#define TIM_OCFast_Enable                  ((u16)0x0004)
527
#define TIM_OCFast_Disable                 ((u16)0x0000)
528
 
529
#define IS_TIM_OCFAST_STATE(STATE) (((STATE) == TIM_OCFast_Enable) || \
530
                                    ((STATE) == TIM_OCFast_Disable))
531
 
532
/* TIM Ouput Compare Clear State --------------------------------------------*/
533
#define TIM_OCClear_Enable                 ((u16)0x0080)
534
#define TIM_OCClear_Disable                ((u16)0x0000)
535
 
536
#define IS_TIM_OCCLEAR_STATE(STATE) (((STATE) == TIM_OCClear_Enable) || \
537
                                     ((STATE) == TIM_OCClear_Disable))
538
 
539
/* TIM Trigger Output Source ------------------------------------------------*/
540
#define TIM_TRGOSource_Reset               ((u16)0x0000)
541
#define TIM_TRGOSource_Enable              ((u16)0x0010)
542
#define TIM_TRGOSource_Update              ((u16)0x0020)
543
#define TIM_TRGOSource_OC1                 ((u16)0x0030)
544
#define TIM_TRGOSource_OC1Ref              ((u16)0x0040)
545
#define TIM_TRGOSource_OC2Ref              ((u16)0x0050)
546
#define TIM_TRGOSource_OC3Ref              ((u16)0x0060)
547
#define TIM_TRGOSource_OC4Ref              ((u16)0x0070)
548
 
549
#define IS_TIM_TRGO_SOURCE(SOURCE) (((SOURCE) == TIM_TRGOSource_Reset) || \
550
                                    ((SOURCE) == TIM_TRGOSource_Enable) || \
551
                                    ((SOURCE) == TIM_TRGOSource_Update) || \
552
                                    ((SOURCE) == TIM_TRGOSource_OC1) || \
553
                                    ((SOURCE) == TIM_TRGOSource_OC1Ref) || \
554
                                    ((SOURCE) == TIM_TRGOSource_OC2Ref) || \
555
                                    ((SOURCE) == TIM_TRGOSource_OC3Ref) || \
556
                                    ((SOURCE) == TIM_TRGOSource_OC4Ref))
557
 
558
#define IS_TIM_PERIPH_TRGO(PERIPH, TRGO)  (((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
559
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
560
                                           (((*(u32*)&(PERIPH)) == TIM6_BASE))||(((*(u32*)&(PERIPH)) == TIM7_BASE))|| \
561
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
562
                                           ((TRGO) == TIM_TRGOSource_Reset)) ||\
563
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
564
                                           (((*(u32*)&(PERIPH)) == TIM6_BASE))||(((*(u32*)&(PERIPH)) == TIM7_BASE))|| \
565
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
566
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
567
                                           ((TRGO) == TIM_TRGOSource_Enable)) ||\
568
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
569
                                           (((*(u32*)&(PERIPH)) == TIM6_BASE))||(((*(u32*)&(PERIPH)) == TIM7_BASE))|| \
570
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
571
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
572
                                           ((TRGO) == TIM_TRGOSource_Update)) ||\
573
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
574
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
575
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
576
                                           ((TRGO) == TIM_TRGOSource_OC1)) ||\
577
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
578
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
579
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
580
                                           ((TRGO) == TIM_TRGOSource_OC1Ref)) ||\
581
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
582
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
583
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
584
                                           ((TRGO) == TIM_TRGOSource_OC2Ref)) ||\
585
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
586
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
587
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
588
                                           ((TRGO) == TIM_TRGOSource_OC3Ref)) ||\
589
                                           ((((*(u32*)&(PERIPH)) == TIM2_BASE)||(((*(u32*)&(PERIPH)) == TIM1_BASE))||\
590
                                           (((*(u32*)&(PERIPH)) == TIM3_BASE))||(((*(u32*)&(PERIPH)) == TIM4_BASE))|| \
591
                                           (((*(u32*)&(PERIPH)) == TIM5_BASE))||(((*(u32*)&(PERIPH)) == TIM8_BASE))) && \
592
                                           ((TRGO) == TIM_TRGOSource_OC4Ref)))
593
 
594
/* TIM Slave Mode ----------------------------------------------------------*/
595
#define TIM_SlaveMode_Reset                ((u16)0x0004)
596
#define TIM_SlaveMode_Gated                ((u16)0x0005)
597
#define TIM_SlaveMode_Trigger              ((u16)0x0006)
598
#define TIM_SlaveMode_External1            ((u16)0x0007)
599
 
600
#define IS_TIM_SLAVE_MODE(MODE) (((MODE) == TIM_SlaveMode_Reset) || \
601
                                 ((MODE) == TIM_SlaveMode_Gated) || \
602
                                 ((MODE) == TIM_SlaveMode_Trigger) || \
603
                                 ((MODE) == TIM_SlaveMode_External1))
604
 
605
/* TIM Master Slave Mode ---------------------------------------------------*/
606
#define TIM_MasterSlaveMode_Enable         ((u16)0x0080)
607
#define TIM_MasterSlaveMode_Disable        ((u16)0x0000)
608
 
609
#define IS_TIM_MSM_STATE(STATE) (((STATE) == TIM_MasterSlaveMode_Enable) || \
610
                                 ((STATE) == TIM_MasterSlaveMode_Disable))
611
 
612
/* TIM Flags ---------------------------------------------------------------*/
613
#define TIM_FLAG_Update                    ((u16)0x0001)
614
#define TIM_FLAG_CC1                       ((u16)0x0002)
615
#define TIM_FLAG_CC2                       ((u16)0x0004)
616
#define TIM_FLAG_CC3                       ((u16)0x0008)
617
#define TIM_FLAG_CC4                       ((u16)0x0010)
618
#define TIM_FLAG_COM                       ((u16)0x0020)
619
#define TIM_FLAG_Trigger                   ((u16)0x0040)
620
#define TIM_FLAG_Break                     ((u16)0x0080)
621
#define TIM_FLAG_CC1OF                     ((u16)0x0200)
622
#define TIM_FLAG_CC2OF                     ((u16)0x0400)
623
#define TIM_FLAG_CC3OF                     ((u16)0x0800)
624
#define TIM_FLAG_CC4OF                     ((u16)0x1000)
625
 
626
#define IS_TIM_GET_FLAG(FLAG) (((FLAG) == TIM_FLAG_Update) || \
627
                               ((FLAG) == TIM_FLAG_CC1) || \
628
                               ((FLAG) == TIM_FLAG_CC2) || \
629
                               ((FLAG) == TIM_FLAG_CC3) || \
630
                               ((FLAG) == TIM_FLAG_CC4) || \
631
                               ((FLAG) == TIM_FLAG_COM) || \
632
                               ((FLAG) == TIM_FLAG_Trigger) || \
633
                               ((FLAG) == TIM_FLAG_Break) || \
634
                               ((FLAG) == TIM_FLAG_CC1OF) || \
635
                               ((FLAG) == TIM_FLAG_CC2OF) || \
636
                               ((FLAG) == TIM_FLAG_CC3OF) || \
637
                               ((FLAG) == TIM_FLAG_CC4OF))
638
 
639
#define IS_TIM_CLEAR_FLAG(PERIPH, TIM_FLAG) ((((((*(u32*)&(PERIPH)) == TIM2_BASE) || (((*(u32*)&(PERIPH)) == TIM3_BASE))||\
640
                                            (((*(u32*)&(PERIPH)) == TIM4_BASE)) || (((*(u32*)&(PERIPH)) == TIM5_BASE))))&& \
641
                                            (((TIM_FLAG) & (u16)0xE1A0) == 0x0000) && ((TIM_FLAG) != 0x0000)) ||\
642
                                            (((((*(u32*)&(PERIPH)) == TIM1_BASE) || (((*(u32*)&(PERIPH)) == TIM8_BASE))))&& \
643
                                            (((TIM_FLAG) & (u16)0xE100) == 0x0000) && ((TIM_FLAG) != 0x0000)) ||\
644
                                            (((((*(u32*)&(PERIPH)) == TIM6_BASE) || (((*(u32*)&(PERIPH)) == TIM7_BASE))))&& \
645
                                            (((TIM_FLAG) & (u16)0xFFFE) == 0x0000) && ((TIM_FLAG) != 0x0000)))
646
 
647
#define IS_TIM_PERIPH_FLAG(PERIPH, TIM_FLAG)  (((((*(u32*)&(PERIPH))==TIM2_BASE) || ((*(u32*)&(PERIPH)) == TIM3_BASE) ||\
648
                                                 ((*(u32*)&(PERIPH)) == TIM4_BASE) || ((*(u32*)&(PERIPH))==TIM5_BASE) || \
649
                                                 ((*(u32*)&(PERIPH))==TIM1_BASE) || ((*(u32*)&(PERIPH))==TIM8_BASE)) &&\
650
                                                 (((TIM_FLAG) == TIM_FLAG_CC1) || ((TIM_FLAG) == TIM_FLAG_CC2) ||\
651
                                                 ((TIM_FLAG) == TIM_FLAG_CC3) || ((TIM_FLAG) == TIM_FLAG_CC4) || \
652
                                                 ((TIM_FLAG) == TIM_FLAG_Trigger))) ||\
653
                                                 ((((*(u32*)&(PERIPH))==TIM2_BASE) || ((*(u32*)&(PERIPH)) == TIM3_BASE) || \
654
                                                 ((*(u32*)&(PERIPH)) == TIM4_BASE) || ((*(u32*)&(PERIPH))==TIM5_BASE) ||\
655
                                                 ((*(u32*)&(PERIPH))==TIM1_BASE)|| ((*(u32*)&(PERIPH))==TIM8_BASE) || \
656
                                                 ((*(u32*)&(PERIPH))==TIM7_BASE) || ((*(u32*)&(PERIPH))==TIM6_BASE)) && \
657
                                                 (((TIM_FLAG) == TIM_FLAG_Update))) ||\
658
                                                 ((((*(u32*)&(PERIPH))==TIM1_BASE) || ((*(u32*)&(PERIPH)) == TIM8_BASE)) &&\
659
                                                 (((TIM_FLAG) == TIM_FLAG_COM) || ((TIM_FLAG) == TIM_FLAG_Break))) ||\
660
                                                 ((((*(u32*)&(PERIPH))==TIM2_BASE) || ((*(u32*)&(PERIPH)) == TIM3_BASE) || \
661
                                                 ((*(u32*)&(PERIPH)) == TIM4_BASE) || ((*(u32*)&(PERIPH))==TIM5_BASE) || \
662
                                                 ((*(u32*)&(PERIPH))==TIM1_BASE) || ((*(u32*)&(PERIPH))==TIM8_BASE)) &&\
663
                                                 (((TIM_FLAG) == TIM_FLAG_CC1OF) || ((TIM_FLAG) == TIM_FLAG_CC2OF) ||\
664
                                                 ((TIM_FLAG) == TIM_FLAG_CC3OF) || ((TIM_FLAG) == TIM_FLAG_CC4OF))))
665
 
666
/* TIM Input Capture Filer Value ---------------------------------------------*/
667
#define IS_TIM_IC_FILTER(ICFILTER) ((ICFILTER) <= 0xF) 
668
 
669
/* TIM External Trigger Filter -----------------------------------------------*/
670
#define IS_TIM_EXT_FILTER(EXTFILTER) ((EXTFILTER) <= 0xF)                              
671
 
672
/* Exported macro ------------------------------------------------------------*/
673
/* Exported functions --------------------------------------------------------*/
674
 
675
void TIM_DeInit(TIM_TypeDef* TIMx);
676
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
677
void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
678
void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
679
void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
680
void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
681
void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
682
void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
683
void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct);
684
void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
685
void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct);
686
void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct);
687
void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct);
688
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);
689
void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState);
690
void TIM_ITConfig(TIM_TypeDef* TIMx, u16 TIM_IT, FunctionalState NewState);
691
void TIM_GenerateEvent(TIM_TypeDef* TIMx, u16 TIM_EventSource);
692
void TIM_DMAConfig(TIM_TypeDef* TIMx, u16 TIM_DMABase, u16 TIM_DMABurstLength);
693
void TIM_DMACmd(TIM_TypeDef* TIMx, u16 TIM_DMASource, FunctionalState NewState);
694
void TIM_InternalClockConfig(TIM_TypeDef* TIMx);
695
void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, u16 TIM_InputTriggerSource);
696
void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, u16 TIM_TIxExternalCLKSource,
697
                                u16 TIM_ICPolarity, u16 ICFilter);
698
void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler, u16 TIM_ExtTRGPolarity,
699
                             u16 ExtTRGFilter);
700
void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler,
701
                             u16 TIM_ExtTRGPolarity, u16 ExtTRGFilter);
702
void TIM_ETRConfig(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler, u16 TIM_ExtTRGPolarity,
703
                   u16 ExtTRGFilter);
704
void TIM_PrescalerConfig(TIM_TypeDef* TIMx, u16 Prescaler, u16 TIM_PSCReloadMode);
705
void TIM_CounterModeConfig(TIM_TypeDef* TIMx, u16 TIM_CounterMode);
706
void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, u16 TIM_InputTriggerSource);
707
void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, u16 TIM_EncoderMode,
708
                                u16 TIM_IC1Polarity, u16 TIM_IC2Polarity);
709
void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction);
710
void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction);
711
void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction);
712
void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction);
713
void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);
714
void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState);
715
void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState);
716
void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState);
717
void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload);
718
void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload);
719
void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload);
720
void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload);
721
void TIM_OC1FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast);
722
void TIM_OC2FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast);
723
void TIM_OC3FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast);
724
void TIM_OC4FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast);
725
void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear);
726
void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear);
727
void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear);
728
void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear);
729
void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity);
730
void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCNPolarity);
731
void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity);
732
void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCNPolarity);
733
void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity);
734
void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCNPolarity);
735
void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity);
736
void TIM_CCxCmd(TIM_TypeDef* TIMx, u16 TIM_Channel, u16 TIM_CCx);
737
void TIM_CCxNCmd(TIM_TypeDef* TIMx, u16 TIM_Channel, u16 TIM_CCxN);
738
void TIM_SelectOCxM(TIM_TypeDef* TIMx, u16 TIM_Channel, u16 TIM_OCMode);
739
void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState);
740
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, u16 TIM_UpdateSource);
741
void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState);
742
void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, u16 TIM_OPMode);
743
void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, u16 TIM_TRGOSource);
744
void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, u16 TIM_SlaveMode);
745
void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, u16 TIM_MasterSlaveMode);
746
void TIM_SetCounter(TIM_TypeDef* TIMx, u16 Counter);
747
void TIM_SetAutoreload(TIM_TypeDef* TIMx, u16 Autoreload);
748
void TIM_SetCompare1(TIM_TypeDef* TIMx, u16 Compare1);
749
void TIM_SetCompare2(TIM_TypeDef* TIMx, u16 Compare2);
750
void TIM_SetCompare3(TIM_TypeDef* TIMx, u16 Compare3);
751
void TIM_SetCompare4(TIM_TypeDef* TIMx, u16 Compare4);
752
void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC);
753
void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC);
754
void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC);
755
void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC);
756
void TIM_SetClockDivision(TIM_TypeDef* TIMx, u16 TIM_CKD);
757
u16 TIM_GetCapture1(TIM_TypeDef* TIMx);
758
u16 TIM_GetCapture2(TIM_TypeDef* TIMx);
759
u16 TIM_GetCapture3(TIM_TypeDef* TIMx);
760
u16 TIM_GetCapture4(TIM_TypeDef* TIMx);
761
u16 TIM_GetCounter(TIM_TypeDef* TIMx);
762
u16 TIM_GetPrescaler(TIM_TypeDef* TIMx);
763
FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, u16 TIM_FLAG);
764
void TIM_ClearFlag(TIM_TypeDef* TIMx, u16 TIM_FLAG);
765
ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, u16 TIM_IT);
766
void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT);
767
 
768
#endif /*__STM32F10x_TIM_H */
769
 
770
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
771
 
772
 
773
 
774
 
775
 
776
 
777
 
778
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.