48# define TIM8 TIM8_BASE
51# define TIM9 TIM9_BASE
53#if defined(TIM10_BASE)
54# define TIM10 TIM10_BASE
56#if defined(TIM11_BASE)
57# define TIM11 TIM11_BASE
59#if defined(TIM12_BASE)
60# define TIM12 TIM12_BASE
62#if defined(TIM13_BASE)
63# define TIM13 TIM13_BASE
65#if defined(TIM14_BASE)
66# define TIM14 TIM14_BASE
68#if defined(TIM15_BASE)
69# define TIM15 TIM15_BASE
71#if defined(TIM16_BASE)
72# define TIM16 TIM16_BASE
74#if defined(TIM17_BASE)
75# define TIM17 TIM17_BASE
77#if defined(TIM21_BASE)
78# define TIM21 TIM21_BASE
80#if defined(TIM22_BASE)
81# define TIM22 TIM22_BASE
88#define TIM_CR1(tim_base) MMIO32((tim_base) + 0x00)
89#define TIM1_CR1 TIM_CR1(TIM1)
90#define TIM2_CR1 TIM_CR1(TIM2)
91#define TIM3_CR1 TIM_CR1(TIM3)
92#define TIM4_CR1 TIM_CR1(TIM4)
93#define TIM5_CR1 TIM_CR1(TIM5)
94#define TIM6_CR1 TIM_CR1(TIM6)
95#define TIM7_CR1 TIM_CR1(TIM7)
96#define TIM8_CR1 TIM_CR1(TIM8)
97#define TIM9_CR1 TIM_CR1(TIM9)
98#define TIM10_CR1 TIM_CR1(TIM10)
99#define TIM11_CR1 TIM_CR1(TIM11)
100#define TIM12_CR1 TIM_CR1(TIM12)
101#define TIM13_CR1 TIM_CR1(TIM13)
102#define TIM14_CR1 TIM_CR1(TIM14)
103#define TIM15_CR1 TIM_CR1(TIM15)
104#define TIM16_CR1 TIM_CR1(TIM16)
105#define TIM17_CR1 TIM_CR1(TIM17)
108#define TIM_CR2(tim_base) MMIO32((tim_base) + 0x04)
109#define TIM1_CR2 TIM_CR2(TIM1)
110#define TIM2_CR2 TIM_CR2(TIM2)
111#define TIM3_CR2 TIM_CR2(TIM3)
112#define TIM4_CR2 TIM_CR2(TIM4)
113#define TIM5_CR2 TIM_CR2(TIM5)
114#define TIM6_CR2 TIM_CR2(TIM6)
115#define TIM7_CR2 TIM_CR2(TIM7)
116#define TIM8_CR2 TIM_CR2(TIM8)
117#define TIM15_CR2 TIM_CR2(TIM15)
118#define TIM16_CR2 TIM_CR2(TIM16)
119#define TIM17_CR2 TIM_CR2(TIM17)
122#define TIM_SMCR(tim_base) MMIO32((tim_base) + 0x08)
123#define TIM1_SMCR TIM_SMCR(TIM1)
124#define TIM2_SMCR TIM_SMCR(TIM2)
125#define TIM3_SMCR TIM_SMCR(TIM3)
126#define TIM4_SMCR TIM_SMCR(TIM4)
127#define TIM5_SMCR TIM_SMCR(TIM5)
128#define TIM8_SMCR TIM_SMCR(TIM8)
129#define TIM9_SMCR TIM_SMCR(TIM9)
130#define TIM12_SMCR TIM_SMCR(TIM12)
131#define TIM15_SMCR TIM_SMCR(TIM15)
134#define TIM_DIER(tim_base) MMIO32((tim_base) + 0x0C)
135#define TIM1_DIER TIM_DIER(TIM1)
136#define TIM2_DIER TIM_DIER(TIM2)
137#define TIM3_DIER TIM_DIER(TIM3)
138#define TIM4_DIER TIM_DIER(TIM4)
139#define TIM5_DIER TIM_DIER(TIM5)
140#define TIM6_DIER TIM_DIER(TIM6)
141#define TIM7_DIER TIM_DIER(TIM7)
142#define TIM8_DIER TIM_DIER(TIM8)
143#define TIM9_DIER TIM_DIER(TIM9)
144#define TIM10_DIER TIM_DIER(TIM10)
145#define TIM11_DIER TIM_DIER(TIM11)
146#define TIM12_DIER TIM_DIER(TIM12)
147#define TIM13_DIER TIM_DIER(TIM13)
148#define TIM14_DIER TIM_DIER(TIM14)
149#define TIM15_DIER TIM_DIER(TIM15)
150#define TIM16_DIER TIM_DIER(TIM16)
151#define TIM17_DIER TIM_DIER(TIM17)
154#define TIM_SR(tim_base) MMIO32((tim_base) + 0x10)
155#define TIM1_SR TIM_SR(TIM1)
156#define TIM2_SR TIM_SR(TIM2)
157#define TIM3_SR TIM_SR(TIM3)
158#define TIM4_SR TIM_SR(TIM4)
159#define TIM5_SR TIM_SR(TIM5)
160#define TIM6_SR TIM_SR(TIM6)
161#define TIM7_SR TIM_SR(TIM7)
162#define TIM8_SR TIM_SR(TIM8)
163#define TIM9_SR TIM_SR(TIM9)
164#define TIM10_SR TIM_SR(TIM10)
165#define TIM11_SR TIM_SR(TIM11)
166#define TIM12_SR TIM_SR(TIM12)
167#define TIM13_SR TIM_SR(TIM13)
168#define TIM14_SR TIM_SR(TIM14)
169#define TIM15_SR TIM_SR(TIM15)
170#define TIM16_SR TIM_SR(TIM16)
171#define TIM17_SR TIM_SR(TIM17)
174#define TIM_EGR(tim_base) MMIO32((tim_base) + 0x14)
175#define TIM1_EGR TIM_EGR(TIM1)
176#define TIM2_EGR TIM_EGR(TIM2)
177#define TIM3_EGR TIM_EGR(TIM3)
178#define TIM4_EGR TIM_EGR(TIM4)
179#define TIM5_EGR TIM_EGR(TIM5)
180#define TIM6_EGR TIM_EGR(TIM6)
181#define TIM7_EGR TIM_EGR(TIM7)
182#define TIM8_EGR TIM_EGR(TIM8)
183#define TIM9_EGR TIM_EGR(TIM9)
184#define TIM10_EGR TIM_EGR(TIM10)
185#define TIM11_EGR TIM_EGR(TIM11)
186#define TIM12_EGR TIM_EGR(TIM12)
187#define TIM13_EGR TIM_EGR(TIM13)
188#define TIM14_EGR TIM_EGR(TIM14)
189#define TIM15_EGR TIM_EGR(TIM15)
190#define TIM16_EGR TIM_EGR(TIM16)
191#define TIM17_EGR TIM_EGR(TIM17)
194#define TIM_CCMR1(tim_base) MMIO32((tim_base) + 0x18)
195#define TIM1_CCMR1 TIM_CCMR1(TIM1)
196#define TIM2_CCMR1 TIM_CCMR1(TIM2)
197#define TIM3_CCMR1 TIM_CCMR1(TIM3)
198#define TIM4_CCMR1 TIM_CCMR1(TIM4)
199#define TIM5_CCMR1 TIM_CCMR1(TIM5)
200#define TIM8_CCMR1 TIM_CCMR1(TIM8)
201#define TIM9_CCMR1 TIM_CCMR1(TIM9)
202#define TIM10_CCMR1 TIM_CCMR1(TIM10)
203#define TIM11_CCMR1 TIM_CCMR1(TIM11)
204#define TIM12_CCMR1 TIM_CCMR1(TIM12)
205#define TIM13_CCMR1 TIM_CCMR1(TIM13)
206#define TIM14_CCMR1 TIM_CCMR1(TIM14)
207#define TIM15_CCMR1 TIM_CCMR1(TIM15)
208#define TIM16_CCMR1 TIM_CCMR1(TIM16)
209#define TIM17_CCMR1 TIM_CCMR1(TIM17)
212#define TIM_CCMR2(tim_base) MMIO32((tim_base) + 0x1C)
213#define TIM1_CCMR2 TIM_CCMR2(TIM1)
214#define TIM2_CCMR2 TIM_CCMR2(TIM2)
215#define TIM3_CCMR2 TIM_CCMR2(TIM3)
216#define TIM4_CCMR2 TIM_CCMR2(TIM4)
217#define TIM5_CCMR2 TIM_CCMR2(TIM5)
218#define TIM8_CCMR2 TIM_CCMR2(TIM8)
221#define TIM_CCER(tim_base) MMIO32((tim_base) + 0x20)
222#define TIM1_CCER TIM_CCER(TIM1)
223#define TIM2_CCER TIM_CCER(TIM2)
224#define TIM3_CCER TIM_CCER(TIM3)
225#define TIM4_CCER TIM_CCER(TIM4)
226#define TIM5_CCER TIM_CCER(TIM5)
227#define TIM8_CCER TIM_CCER(TIM8)
228#define TIM9_CCER TIM_CCER(TIM9)
229#define TIM10_CCER TIM_CCER(TIM10)
230#define TIM11_CCER TIM_CCER(TIM11)
231#define TIM12_CCER TIM_CCER(TIM12)
232#define TIM13_CCER TIM_CCER(TIM13)
233#define TIM14_CCER TIM_CCER(TIM14)
234#define TIM15_CCER TIM_CCER(TIM15)
235#define TIM16_CCER TIM_CCER(TIM16)
236#define TIM17_CCER TIM_CCER(TIM17)
239#define TIM_CNT(tim_base) MMIO32((tim_base) + 0x24)
240#define TIM1_CNT TIM_CNT(TIM1)
241#define TIM2_CNT TIM_CNT(TIM2)
242#define TIM3_CNT TIM_CNT(TIM3)
243#define TIM4_CNT TIM_CNT(TIM4)
244#define TIM5_CNT TIM_CNT(TIM5)
245#define TIM6_CNT TIM_CNT(TIM6)
246#define TIM7_CNT TIM_CNT(TIM7)
247#define TIM8_CNT TIM_CNT(TIM8)
248#define TIM9_CNT TIM_CNT(TIM9)
249#define TIM10_CNT TIM_CNT(TIM10)
250#define TIM11_CNT TIM_CNT(TIM11)
251#define TIM12_CNT TIM_CNT(TIM12)
252#define TIM13_CNT TIM_CNT(TIM13)
253#define TIM14_CNT TIM_CNT(TIM14)
254#define TIM15_CNT TIM_CNT(TIM15)
255#define TIM16_CNT TIM_CNT(TIM16)
256#define TIM17_CNT TIM_CNT(TIM17)
259#define TIM_PSC(tim_base) MMIO32((tim_base) + 0x28)
260#define TIM1_PSC TIM_PSC(TIM1)
261#define TIM2_PSC TIM_PSC(TIM2)
262#define TIM3_PSC TIM_PSC(TIM3)
263#define TIM4_PSC TIM_PSC(TIM4)
264#define TIM5_PSC TIM_PSC(TIM5)
265#define TIM6_PSC TIM_PSC(TIM6)
266#define TIM7_PSC TIM_PSC(TIM7)
267#define TIM8_PSC TIM_PSC(TIM8)
268#define TIM9_PSC TIM_PSC(TIM9)
269#define TIM10_PSC TIM_PSC(TIM10)
270#define TIM11_PSC TIM_PSC(TIM11)
271#define TIM12_PSC TIM_PSC(TIM12)
272#define TIM13_PSC TIM_PSC(TIM13)
273#define TIM14_PSC TIM_PSC(TIM14)
274#define TIM15_PSC TIM_PSC(TIM15)
275#define TIM16_PSC TIM_PSC(TIM16)
276#define TIM17_PSC TIM_PSC(TIM17)
279#define TIM_ARR(tim_base) MMIO32((tim_base) + 0x2C)
280#define TIM1_ARR TIM_ARR(TIM1)
281#define TIM2_ARR TIM_ARR(TIM2)
282#define TIM3_ARR TIM_ARR(TIM3)
283#define TIM4_ARR TIM_ARR(TIM4)
284#define TIM5_ARR TIM_ARR(TIM5)
285#define TIM6_ARR TIM_ARR(TIM6)
286#define TIM7_ARR TIM_ARR(TIM7)
287#define TIM8_ARR TIM_ARR(TIM8)
288#define TIM9_ARR TIM_ARR(TIM9)
289#define TIM10_ARR TIM_ARR(TIM10)
290#define TIM11_ARR TIM_ARR(TIM11)
291#define TIM12_ARR TIM_ARR(TIM12)
292#define TIM13_ARR TIM_ARR(TIM13)
293#define TIM14_ARR TIM_ARR(TIM14)
294#define TIM15_ARR TIM_ARR(TIM15)
295#define TIM16_ARR TIM_ARR(TIM16)
296#define TIM17_ARR TIM_ARR(TIM17)
299#define TIM_RCR(tim_base) MMIO32((tim_base) + 0x30)
300#define TIM1_RCR TIM_RCR(TIM1)
301#define TIM8_RCR TIM_RCR(TIM8)
302#define TIM15_RCR TIM_RCR(TIM15)
303#define TIM16_RCR TIM_RCR(TIM16)
304#define TIM17_RCR TIM_RCR(TIM17)
307#define TIM_CCR1(tim_base) MMIO32((tim_base) + 0x34)
308#define TIM1_CCR1 TIM_CCR1(TIM1)
309#define TIM2_CCR1 TIM_CCR1(TIM2)
310#define TIM3_CCR1 TIM_CCR1(TIM3)
311#define TIM4_CCR1 TIM_CCR1(TIM4)
312#define TIM5_CCR1 TIM_CCR1(TIM5)
313#define TIM8_CCR1 TIM_CCR1(TIM8)
314#define TIM9_CCR1 TIM_CCR1(TIM9)
315#define TIM10_CCR1 TIM_CCR1(TIM10)
316#define TIM11_CCR1 TIM_CCR1(TIM11)
317#define TIM12_CCR1 TIM_CCR1(TIM12)
318#define TIM13_CCR1 TIM_CCR1(TIM13)
319#define TIM14_CCR1 TIM_CCR1(TIM14)
320#define TIM15_CCR1 TIM_CCR1(TIM15)
321#define TIM16_CCR1 TIM_CCR1(TIM16)
322#define TIM17_CCR1 TIM_CCR1(TIM17)
325#define TIM_CCR2(tim_base) MMIO32((tim_base) + 0x38)
326#define TIM1_CCR2 TIM_CCR2(TIM1)
327#define TIM2_CCR2 TIM_CCR2(TIM2)
328#define TIM3_CCR2 TIM_CCR2(TIM3)
329#define TIM4_CCR2 TIM_CCR2(TIM4)
330#define TIM5_CCR2 TIM_CCR2(TIM5)
331#define TIM8_CCR2 TIM_CCR2(TIM8)
332#define TIM9_CCR2 TIM_CCR2(TIM9)
333#define TIM12_CCR2 TIM_CCR2(TIM12)
334#define TIM15_CCR2 TIM_CCR2(TIM15)
337#define TIM_CCR3(tim_base) MMIO32((tim_base) + 0x3C)
338#define TIM1_CCR3 TIM_CCR3(TIM1)
339#define TIM2_CCR3 TIM_CCR3(TIM2)
340#define TIM3_CCR3 TIM_CCR3(TIM3)
341#define TIM4_CCR3 TIM_CCR3(TIM4)
342#define TIM5_CCR3 TIM_CCR3(TIM5)
343#define TIM8_CCR3 TIM_CCR3(TIM8)
346#define TIM_CCR4(tim_base) MMIO32((tim_base) + 0x40)
347#define TIM1_CCR4 TIM_CCR4(TIM1)
348#define TIM2_CCR4 TIM_CCR4(TIM2)
349#define TIM3_CCR4 TIM_CCR4(TIM3)
350#define TIM4_CCR4 TIM_CCR4(TIM4)
351#define TIM5_CCR4 TIM_CCR4(TIM5)
352#define TIM8_CCR4 TIM_CCR4(TIM8)
355#define TIM_BDTR(tim_base) MMIO32((tim_base) + 0x44)
356#define TIM1_BDTR TIM_BDTR(TIM1)
357#define TIM8_BDTR TIM_BDTR(TIM8)
358#define TIM15_BDTR TIM_BDTR(TIM15)
359#define TIM16_BDTR TIM_BDTR(TIM16)
360#define TIM17_BDTR TIM_BDTR(TIM17)
363#define TIM_DCR(tim_base) MMIO32((tim_base) + 0x48)
364#define TIM1_DCR TIM_DCR(TIM1)
365#define TIM2_DCR TIM_DCR(TIM2)
366#define TIM3_DCR TIM_DCR(TIM3)
367#define TIM4_DCR TIM_DCR(TIM4)
368#define TIM5_DCR TIM_DCR(TIM5)
369#define TIM8_DCR TIM_DCR(TIM8)
370#define TIM15_DCR TIM_DCR(TIM15)
371#define TIM16_DCR TIM_DCR(TIM16)
372#define TIM17_DCR TIM_DCR(TIM17)
375#define TIM_DMAR(tim_base) MMIO32((tim_base) + 0x4C)
376#define TIM1_DMAR TIM_DMAR(TIM1)
377#define TIM2_DMAR TIM_DMAR(TIM2)
378#define TIM3_DMAR TIM_DMAR(TIM3)
379#define TIM4_DMAR TIM_DMAR(TIM4)
380#define TIM5_DMAR TIM_DMAR(TIM5)
381#define TIM8_DMAR TIM_DMAR(TIM8)
382#define TIM15_DMAR TIM_DMAR(TIM15)
383#define TIM16_DMAR TIM_DMAR(TIM16)
384#define TIM17_DMAR TIM_DMAR(TIM17)
392#define TIM_CR1_CKD_CK_INT (0x0 << 8)
393#define TIM_CR1_CKD_CK_INT_MUL_2 (0x1 << 8)
394#define TIM_CR1_CKD_CK_INT_MUL_4 (0x2 << 8)
395#define TIM_CR1_CKD_CK_INT_MASK (0x3 << 8)
399#define TIM_CR1_ARPE (1 << 7)
405#define TIM_CR1_CMS_EDGE (0x0 << 5)
406#define TIM_CR1_CMS_CENTER_1 (0x1 << 5)
407#define TIM_CR1_CMS_CENTER_2 (0x2 << 5)
408#define TIM_CR1_CMS_CENTER_3 (0x3 << 5)
409#define TIM_CR1_CMS_MASK (0x3 << 5)
416#define TIM_CR1_DIR_UP (0 << 4)
417#define TIM_CR1_DIR_DOWN (1 << 4)
421#define TIM_CR1_OPM (1 << 3)
424#define TIM_CR1_URS (1 << 2)
427#define TIM_CR1_UDIS (1 << 1)
430#define TIM_CR1_CEN (1 << 0)
438#define TIM_CR2_OIS4 (1 << 14)
441#define TIM_CR2_OIS3N (1 << 13)
444#define TIM_CR2_OIS3 (1 << 12)
447#define TIM_CR2_OIS2N (1 << 11)
450#define TIM_CR2_OIS2 (1 << 10)
453#define TIM_CR2_OIS1N (1 << 9)
456#define TIM_CR2_OIS1 (1 << 8)
457#define TIM_CR2_OIS_MASK (0x7f << 8)
461#define TIM_CR2_TI1S (1 << 7)
467#define TIM_CR2_MMS_RESET (0x0 << 4)
468#define TIM_CR2_MMS_ENABLE (0x1 << 4)
469#define TIM_CR2_MMS_UPDATE (0x2 << 4)
470#define TIM_CR2_MMS_COMPARE_PULSE (0x3 << 4)
471#define TIM_CR2_MMS_COMPARE_OC1REF (0x4 << 4)
472#define TIM_CR2_MMS_COMPARE_OC2REF (0x5 << 4)
473#define TIM_CR2_MMS_COMPARE_OC3REF (0x6 << 4)
474#define TIM_CR2_MMS_COMPARE_OC4REF (0x7 << 4)
475#define TIM_CR2_MMS_MASK (0x7 << 4)
479#define TIM_CR2_CCDS (1 << 3)
482#define TIM_CR2_CCUS (1 << 2)
485#define TIM_CR2_CCPC (1 << 0)
490#define TIM_SMCR_ETP (1 << 15)
493#define TIM_SMCR_ECE (1 << 14)
496#define TIM_SMCR_ETPS_OFF (0x0 << 12)
497#define TIM_SMCR_ETPS_ETRP_DIV_2 (0x1 << 12)
498#define TIM_SMCR_ETPS_ETRP_DIV_4 (0x2 << 12)
499#define TIM_SMCR_ETPS_ETRP_DIV_8 (0x3 << 12)
500#define TIM_SMCR_ETPS_MASK (0X3 << 12)
503#define TIM_SMCR_ETF_OFF (0x0 << 8)
504#define TIM_SMCR_ETF_CK_INT_N_2 (0x1 << 8)
505#define TIM_SMCR_ETF_CK_INT_N_4 (0x2 << 8)
506#define TIM_SMCR_ETF_CK_INT_N_8 (0x3 << 8)
507#define TIM_SMCR_ETF_DTS_DIV_2_N_6 (0x4 << 8)
508#define TIM_SMCR_ETF_DTS_DIV_2_N_8 (0x5 << 8)
509#define TIM_SMCR_ETF_DTS_DIV_4_N_6 (0x6 << 8)
510#define TIM_SMCR_ETF_DTS_DIV_4_N_8 (0x7 << 8)
511#define TIM_SMCR_ETF_DTS_DIV_8_N_6 (0x8 << 8)
512#define TIM_SMCR_ETF_DTS_DIV_8_N_8 (0x9 << 8)
513#define TIM_SMCR_ETF_DTS_DIV_16_N_5 (0xA << 8)
514#define TIM_SMCR_ETF_DTS_DIV_16_N_6 (0xB << 8)
515#define TIM_SMCR_ETF_DTS_DIV_16_N_8 (0xC << 8)
516#define TIM_SMCR_ETF_DTS_DIV_32_N_5 (0xD << 8)
517#define TIM_SMCR_ETF_DTS_DIV_32_N_6 (0xE << 8)
518#define TIM_SMCR_ETF_DTS_DIV_32_N_8 (0xF << 8)
519#define TIM_SMCR_ETF_MASK (0xF << 8)
522#define TIM_SMCR_MSM (1 << 7)
528#define TIM_SMCR_TS_ITR0 (0x0 << 4)
530#define TIM_SMCR_TS_ITR1 (0x1 << 4)
532#define TIM_SMCR_TS_ITR2 (0x2 << 4)
534#define TIM_SMCR_TS_ITR3 (0x3 << 4)
536#define TIM_SMCR_TS_TI1F_ED (0x4 << 4)
538#define TIM_SMCR_TS_TI1FP1 (0x5 << 4)
540#define TIM_SMCR_TS_TI2FP2 (0x6 << 4)
542#define TIM_SMCR_TS_ETRF (0x7 << 4)
543#define TIM_SMCR_TS_MASK (0x7 << 4)
550#define TIM_SMCR_SMS_OFF (0x0 << 0)
553#define TIM_SMCR_SMS_EM1 (0x1 << 0)
556#define TIM_SMCR_SMS_EM2 (0x2 << 0)
559#define TIM_SMCR_SMS_EM3 (0x3 << 0)
563#define TIM_SMCR_SMS_RM (0x4 << 0)
567#define TIM_SMCR_SMS_GM (0x5 << 0)
569#define TIM_SMCR_SMS_TM (0x6 << 0)
573#define TIM_SMCR_SMS_ECM1 (0x7 << 0)
574#define TIM_SMCR_SMS_MASK (0x7 << 0)
583#define TIM_DIER_TDE (1 << 14)
586#define TIM_DIER_COMDE (1 << 13)
589#define TIM_DIER_CC4DE (1 << 12)
592#define TIM_DIER_CC3DE (1 << 11)
595#define TIM_DIER_CC2DE (1 << 10)
598#define TIM_DIER_CC1DE (1 << 9)
601#define TIM_DIER_UDE (1 << 8)
604#define TIM_DIER_BIE (1 << 7)
607#define TIM_DIER_TIE (1 << 6)
610#define TIM_DIER_COMIE (1 << 5)
613#define TIM_DIER_CC4IE (1 << 4)
616#define TIM_DIER_CC3IE (1 << 3)
619#define TIM_DIER_CC2IE (1 << 2)
622#define TIM_DIER_CC1IE (1 << 1)
625#define TIM_DIER_UIE (1 << 0)
634#define TIM_SR_CC4OF (1 << 12)
637#define TIM_SR_CC3OF (1 << 11)
640#define TIM_SR_CC2OF (1 << 10)
643#define TIM_SR_CC1OF (1 << 9)
646#define TIM_SR_BIF (1 << 7)
649#define TIM_SR_TIF (1 << 6)
652#define TIM_SR_COMIF (1 << 5)
655#define TIM_SR_CC4IF (1 << 4)
658#define TIM_SR_CC3IF (1 << 3)
661#define TIM_SR_CC2IF (1 << 2)
664#define TIM_SR_CC1IF (1 << 1)
667#define TIM_SR_UIF (1 << 0)
677#define TIM_EGR_BG (1 << 7)
680#define TIM_EGR_TG (1 << 6)
683#define TIM_EGR_COMG (1 << 5)
686#define TIM_EGR_CC4G (1 << 4)
689#define TIM_EGR_CC3G (1 << 3)
692#define TIM_EGR_CC2G (1 << 2)
695#define TIM_EGR_CC1G (1 << 1)
698#define TIM_EGR_UG (1 << 0)
706#define TIM_CCMR1_OC2CE (1 << 15)
709#define TIM_CCMR1_OC2M_FROZEN (0x0 << 12)
710#define TIM_CCMR1_OC2M_ACTIVE (0x1 << 12)
711#define TIM_CCMR1_OC2M_INACTIVE (0x2 << 12)
712#define TIM_CCMR1_OC2M_TOGGLE (0x3 << 12)
713#define TIM_CCMR1_OC2M_FORCE_LOW (0x4 << 12)
714#define TIM_CCMR1_OC2M_FORCE_HIGH (0x5 << 12)
715#define TIM_CCMR1_OC2M_PWM1 (0x6 << 12)
716#define TIM_CCMR1_OC2M_PWM2 (0x7 << 12)
717#define TIM_CCMR1_OC2M_MASK (0x7 << 12)
720#define TIM_CCMR1_OC2PE (1 << 11)
723#define TIM_CCMR1_OC2FE (1 << 10)
728#define TIM_CCMR1_CC2S_OUT (0x0 << 8)
729#define TIM_CCMR1_CC2S_IN_TI2 (0x1 << 8)
730#define TIM_CCMR1_CC2S_IN_TI1 (0x2 << 8)
731#define TIM_CCMR1_CC2S_IN_TRC (0x3 << 8)
732#define TIM_CCMR1_CC2S_MASK (0x3 << 8)
735#define TIM_CCMR1_OC1CE (1 << 7)
738#define TIM_CCMR1_OC1M_FROZEN (0x0 << 4)
739#define TIM_CCMR1_OC1M_ACTIVE (0x1 << 4)
740#define TIM_CCMR1_OC1M_INACTIVE (0x2 << 4)
741#define TIM_CCMR1_OC1M_TOGGLE (0x3 << 4)
742#define TIM_CCMR1_OC1M_FORCE_LOW (0x4 << 4)
743#define TIM_CCMR1_OC1M_FORCE_HIGH (0x5 << 4)
744#define TIM_CCMR1_OC1M_PWM1 (0x6 << 4)
745#define TIM_CCMR1_OC1M_PWM2 (0x7 << 4)
746#define TIM_CCMR1_OC1M_MASK (0x7 << 4)
749#define TIM_CCMR1_OC1PE (1 << 3)
752#define TIM_CCMR1_OC1FE (1 << 2)
757#define TIM_CCMR1_CC1S_OUT (0x0 << 0)
758#define TIM_CCMR1_CC1S_IN_TI2 (0x2 << 0)
759#define TIM_CCMR1_CC1S_IN_TI1 (0x1 << 0)
760#define TIM_CCMR1_CC1S_IN_TRC (0x3 << 0)
761#define TIM_CCMR1_CC1S_MASK (0x3 << 0)
766#define TIM_CCMR1_IC2F_OFF (0x0 << 12)
767#define TIM_CCMR1_IC2F_CK_INT_N_2 (0x1 << 12)
768#define TIM_CCMR1_IC2F_CK_INT_N_4 (0x2 << 12)
769#define TIM_CCMR1_IC2F_CK_INT_N_8 (0x3 << 12)
770#define TIM_CCMR1_IC2F_DTF_DIV_2_N_6 (0x4 << 12)
771#define TIM_CCMR1_IC2F_DTF_DIV_2_N_8 (0x5 << 12)
772#define TIM_CCMR1_IC2F_DTF_DIV_4_N_6 (0x6 << 12)
773#define TIM_CCMR1_IC2F_DTF_DIV_4_N_8 (0x7 << 12)
774#define TIM_CCMR1_IC2F_DTF_DIV_8_N_6 (0x8 << 12)
775#define TIM_CCMR1_IC2F_DTF_DIV_8_N_8 (0x9 << 12)
776#define TIM_CCMR1_IC2F_DTF_DIV_16_N_5 (0xA << 12)
777#define TIM_CCMR1_IC2F_DTF_DIV_16_N_6 (0xB << 12)
778#define TIM_CCMR1_IC2F_DTF_DIV_16_N_8 (0xC << 12)
779#define TIM_CCMR1_IC2F_DTF_DIV_32_N_5 (0xD << 12)
780#define TIM_CCMR1_IC2F_DTF_DIV_32_N_6 (0xE << 12)
781#define TIM_CCMR1_IC2F_DTF_DIV_32_N_8 (0xF << 12)
782#define TIM_CCMR1_IC2F_MASK (0xF << 12)
785#define TIM_CCMR1_IC2PSC_OFF (0x0 << 10)
786#define TIM_CCMR1_IC2PSC_2 (0x1 << 10)
787#define TIM_CCMR1_IC2PSC_4 (0x2 << 10)
788#define TIM_CCMR1_IC2PSC_8 (0x3 << 10)
789#define TIM_CCMR1_IC2PSC_MASK (0x3 << 10)
792#define TIM_CCMR1_IC1F_OFF (0x0 << 4)
793#define TIM_CCMR1_IC1F_CK_INT_N_2 (0x1 << 4)
794#define TIM_CCMR1_IC1F_CK_INT_N_4 (0x2 << 4)
795#define TIM_CCMR1_IC1F_CK_INT_N_8 (0x3 << 4)
796#define TIM_CCMR1_IC1F_DTF_DIV_2_N_6 (0x4 << 4)
797#define TIM_CCMR1_IC1F_DTF_DIV_2_N_8 (0x5 << 4)
798#define TIM_CCMR1_IC1F_DTF_DIV_4_N_6 (0x6 << 4)
799#define TIM_CCMR1_IC1F_DTF_DIV_4_N_8 (0x7 << 4)
800#define TIM_CCMR1_IC1F_DTF_DIV_8_N_6 (0x8 << 4)
801#define TIM_CCMR1_IC1F_DTF_DIV_8_N_8 (0x9 << 4)
802#define TIM_CCMR1_IC1F_DTF_DIV_16_N_5 (0xA << 4)
803#define TIM_CCMR1_IC1F_DTF_DIV_16_N_6 (0xB << 4)
804#define TIM_CCMR1_IC1F_DTF_DIV_16_N_8 (0xC << 4)
805#define TIM_CCMR1_IC1F_DTF_DIV_32_N_5 (0xD << 4)
806#define TIM_CCMR1_IC1F_DTF_DIV_32_N_6 (0xE << 4)
807#define TIM_CCMR1_IC1F_DTF_DIV_32_N_8 (0xF << 4)
808#define TIM_CCMR1_IC1F_MASK (0xF << 4)
811#define TIM_CCMR1_IC1PSC_OFF (0x0 << 2)
812#define TIM_CCMR1_IC1PSC_2 (0x1 << 2)
813#define TIM_CCMR1_IC1PSC_4 (0x2 << 2)
814#define TIM_CCMR1_IC1PSC_8 (0x3 << 2)
815#define TIM_CCMR1_IC1PSC_MASK (0x3 << 2)
822#define TIM_CCMR2_OC4CE (1 << 15)
825#define TIM_CCMR2_OC4M_FROZEN (0x0 << 12)
826#define TIM_CCMR2_OC4M_ACTIVE (0x1 << 12)
827#define TIM_CCMR2_OC4M_INACTIVE (0x2 << 12)
828#define TIM_CCMR2_OC4M_TOGGLE (0x3 << 12)
829#define TIM_CCMR2_OC4M_FORCE_LOW (0x4 << 12)
830#define TIM_CCMR2_OC4M_FORCE_HIGH (0x5 << 12)
831#define TIM_CCMR2_OC4M_PWM1 (0x6 << 12)
832#define TIM_CCMR2_OC4M_PWM2 (0x7 << 12)
833#define TIM_CCMR2_OC4M_MASK (0x7 << 12)
836#define TIM_CCMR2_OC4PE (1 << 11)
839#define TIM_CCMR2_OC4FE (1 << 10)
844#define TIM_CCMR2_CC4S_OUT (0x0 << 8)
845#define TIM_CCMR2_CC4S_IN_TI4 (0x1 << 8)
846#define TIM_CCMR2_CC4S_IN_TI3 (0x2 << 8)
847#define TIM_CCMR2_CC4S_IN_TRC (0x3 << 8)
848#define TIM_CCMR2_CC4S_MASK (0x3 << 8)
851#define TIM_CCMR2_OC3CE (1 << 7)
854#define TIM_CCMR2_OC3M_FROZEN (0x0 << 4)
855#define TIM_CCMR2_OC3M_ACTIVE (0x1 << 4)
856#define TIM_CCMR2_OC3M_INACTIVE (0x2 << 4)
857#define TIM_CCMR2_OC3M_TOGGLE (0x3 << 4)
858#define TIM_CCMR2_OC3M_FORCE_LOW (0x4 << 4)
859#define TIM_CCMR2_OC3M_FORCE_HIGH (0x5 << 4)
860#define TIM_CCMR2_OC3M_PWM1 (0x6 << 4)
861#define TIM_CCMR2_OC3M_PWM2 (0x7 << 4)
862#define TIM_CCMR2_OC3M_MASK (0x7 << 4)
865#define TIM_CCMR2_OC3PE (1 << 3)
868#define TIM_CCMR2_OC3FE (1 << 2)
873#define TIM_CCMR2_CC3S_OUT (0x0 << 0)
874#define TIM_CCMR2_CC3S_IN_TI3 (0x1 << 0)
875#define TIM_CCMR2_CC3S_IN_TI4 (0x2 << 0)
876#define TIM_CCMR2_CC3S_IN_TRC (0x3 << 0)
877#define TIM_CCMR2_CC3S_MASK (0x3 << 0)
882#define TIM_CCMR2_IC4F_OFF (0x0 << 12)
883#define TIM_CCMR2_IC4F_CK_INT_N_2 (0x1 << 12)
884#define TIM_CCMR2_IC4F_CK_INT_N_4 (0x2 << 12)
885#define TIM_CCMR2_IC4F_CK_INT_N_8 (0x3 << 12)
886#define TIM_CCMR2_IC4F_DTF_DIV_2_N_6 (0x4 << 12)
887#define TIM_CCMR2_IC4F_DTF_DIV_2_N_8 (0x5 << 12)
888#define TIM_CCMR2_IC4F_DTF_DIV_4_N_6 (0x6 << 12)
889#define TIM_CCMR2_IC4F_DTF_DIV_4_N_8 (0x7 << 12)
890#define TIM_CCMR2_IC4F_DTF_DIV_8_N_6 (0x8 << 12)
891#define TIM_CCMR2_IC4F_DTF_DIV_8_N_8 (0x9 << 12)
892#define TIM_CCMR2_IC4F_DTF_DIV_16_N_5 (0xA << 12)
893#define TIM_CCMR2_IC4F_DTF_DIV_16_N_6 (0xB << 12)
894#define TIM_CCMR2_IC4F_DTF_DIV_16_N_8 (0xC << 12)
895#define TIM_CCMR2_IC4F_DTF_DIV_32_N_5 (0xD << 12)
896#define TIM_CCMR2_IC4F_DTF_DIV_32_N_6 (0xE << 12)
897#define TIM_CCMR2_IC4F_DTF_DIV_32_N_8 (0xF << 12)
898#define TIM_CCMR2_IC4F_MASK (0xF << 12)
901#define TIM_CCMR2_IC4PSC_OFF (0x0 << 10)
902#define TIM_CCMR2_IC4PSC_2 (0x1 << 10)
903#define TIM_CCMR2_IC4PSC_4 (0x2 << 10)
904#define TIM_CCMR2_IC4PSC_8 (0x3 << 10)
905#define TIM_CCMR2_IC4PSC_MASK (0x3 << 10)
908#define TIM_CCMR2_IC3F_OFF (0x0 << 4)
909#define TIM_CCMR2_IC3F_CK_INT_N_2 (0x1 << 4)
910#define TIM_CCMR2_IC3F_CK_INT_N_4 (0x2 << 4)
911#define TIM_CCMR2_IC3F_CK_INT_N_8 (0x3 << 4)
912#define TIM_CCMR2_IC3F_DTF_DIV_2_N_6 (0x4 << 4)
913#define TIM_CCMR2_IC3F_DTF_DIV_2_N_8 (0x5 << 4)
914#define TIM_CCMR2_IC3F_DTF_DIV_4_N_6 (0x6 << 4)
915#define TIM_CCMR2_IC3F_DTF_DIV_4_N_8 (0x7 << 4)
916#define TIM_CCMR2_IC3F_DTF_DIV_8_N_6 (0x8 << 4)
917#define TIM_CCMR2_IC3F_DTF_DIV_8_N_8 (0x9 << 4)
918#define TIM_CCMR2_IC3F_DTF_DIV_16_N_5 (0xA << 4)
919#define TIM_CCMR2_IC3F_DTF_DIV_16_N_6 (0xB << 4)
920#define TIM_CCMR2_IC3F_DTF_DIV_16_N_8 (0xC << 4)
921#define TIM_CCMR2_IC3F_DTF_DIV_32_N_5 (0xD << 4)
922#define TIM_CCMR2_IC3F_DTF_DIV_32_N_6 (0xE << 4)
923#define TIM_CCMR2_IC3F_DTF_DIV_32_N_8 (0xF << 4)
924#define TIM_CCMR2_IC3F_MASK (0xF << 4)
927#define TIM_CCMR2_IC3PSC_OFF (0x0 << 2)
928#define TIM_CCMR2_IC3PSC_2 (0x1 << 2)
929#define TIM_CCMR2_IC3PSC_4 (0x2 << 2)
930#define TIM_CCMR2_IC3PSC_8 (0x3 << 2)
931#define TIM_CCMR2_IC3PSC_MASK (0x3 << 2)
936#define TIM_CCER_CC4NP (1 << 15)
939#define TIM_CCER_CC4P (1 << 13)
942#define TIM_CCER_CC4E (1 << 12)
945#define TIM_CCER_CC3NP (1 << 11)
948#define TIM_CCER_CC3NE (1 << 10)
951#define TIM_CCER_CC3P (1 << 9)
954#define TIM_CCER_CC3E (1 << 8)
957#define TIM_CCER_CC2NP (1 << 7)
960#define TIM_CCER_CC2NE (1 << 6)
963#define TIM_CCER_CC2P (1 << 5)
966#define TIM_CCER_CC2E (1 << 4)
969#define TIM_CCER_CC1NP (1 << 3)
972#define TIM_CCER_CC1NE (1 << 2)
975#define TIM_CCER_CC1P (1 << 1)
978#define TIM_CCER_CC1E (1 << 0)
1015#define TIM_BDTR_MOE (1 << 15)
1018#define TIM_BDTR_AOE (1 << 14)
1021#define TIM_BDTR_BKP (1 << 13)
1024#define TIM_BDTR_BKE (1 << 12)
1027#define TIM_BDTR_OSSR (1 << 11)
1030#define TIM_BDTR_OSSI (1 << 10)
1036#define TIM_BDTR_LOCK_OFF (0x0 << 8)
1037#define TIM_BDTR_LOCK_LEVEL_1 (0x1 << 8)
1038#define TIM_BDTR_LOCK_LEVEL_2 (0x2 << 8)
1039#define TIM_BDTR_LOCK_LEVEL_3 (0x3 << 8)
1040#define TIM_BDTR_LOCK_MASK (0x3 << 8)
1044#define TIM_BDTR_DTG_MASK 0x00FF
1049#define TIM_BDTR_DBL_MASK (0x1F << 8)
1052#define TIM_BDTR_DBA_MASK (0x1F << 0)
1161void timer_set_mode(uint32_t timer_peripheral, uint32_t clock_div,
1162 uint32_t alignment, uint32_t direction);
void timer_continuous_mode(uint32_t timer_peripheral)
Enable the Timer to Run Continuously.
void timer_set_oc_slow_mode(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Enable the Output Compare Slow Mode.
void timer_enable_preload(uint32_t timer_peripheral)
Enable Auto-Reload Buffering.
void timer_reset_output_idle_state(uint32_t timer_peripheral, uint32_t outputs)
Set Timer Output Idle States Low.
void timer_one_shot_mode(uint32_t timer_peripheral)
Enable the Timer for One Cycle and Stop.
void timer_set_master_mode(uint32_t timer_peripheral, uint32_t mode)
Set the Master Mode.
void timer_disable_preload_complementry_enable_bits(uint32_t timer_peripheral)
Disable Timer Capture/Compare Control Preload.
void timer_set_dma_on_compare_event(uint32_t timer_peripheral)
Set Timer DMA Requests on Capture/Compare Events.
void timer_set_oc_fast_mode(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Enable the Output Compare Fast Mode.
void timer_update_on_overflow(uint32_t timer_peripheral)
Set the Timer to Generate Update IRQ or DMA only from Under/Overflow Events.
void timer_set_disabled_off_state_in_idle_mode(uint32_t timer_peripheral)
Disable Off-State in Idle Mode.
tim_ic_psc
Input Capture input prescaler.
bool timer_get_flag(uint32_t timer_peripheral, uint32_t flag)
Read a Status Flag.
void timer_enable_compare_control_update_on_trigger(uint32_t timer_peripheral)
Enable Timer Capture/Compare Control Update with Trigger.
void timer_disable_break_main_output(uint32_t timer_peripheral)
Disable Output in Break.
void timer_enable_break(uint32_t timer_peripheral)
Enable Break.
void timer_set_oc_polarity_high(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Set the Output Polarity High.
void timer_set_mode(uint32_t timer_peripheral, uint32_t clock_div, uint32_t alignment, uint32_t direction)
Set the Timer Mode.
void timer_disable_oc_clear(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Disable the Output Compare Clear Function.
void timer_set_break_lock(uint32_t timer_peripheral, uint32_t lock)
Set Lock Bits.
void timer_disable_preload(uint32_t timer_peripheral)
Disable Auto-Reload Buffering.
void timer_set_prescaler(uint32_t timer_peripheral, uint32_t value)
Set the Value for the Timer Prescaler.
void timer_disable_counter(uint32_t timer_peripheral)
Stop the timer from counting.
void timer_enable_oc_clear(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Enable the Output Compare Clear Function.
void timer_set_break_polarity_high(uint32_t timer_peripheral)
Activate Break when Input High.
void timer_slave_set_trigger(uint32_t timer, uint8_t trigger)
Set Slave Trigger Source.
void timer_set_oc_mode(uint32_t timer_peripheral, enum tim_oc_id oc_id, enum tim_oc_mode oc_mode)
Timer Set Output Compare Mode.
void timer_slave_set_prescaler(uint32_t timer, enum tim_ic_psc psc)
Set External Trigger Prescaler for Slave.
void timer_set_oc_idle_state_unset(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Set Output Compare Idle State Low.
bool timer_interrupt_source(uint32_t timer_peripheral, uint32_t flag)
Return Interrupt Source.
void timer_set_deadtime(uint32_t timer_peripheral, uint32_t deadtime)
Set Deadtime.
void timer_set_alignment(uint32_t timer_peripheral, uint32_t alignment)
Specify the counter alignment mode.
void timer_set_counter(uint32_t timer_peripheral, uint32_t count)
Set Counter.
void timer_enable_oc_preload(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Enable the Output Compare Preload Register.
void timer_set_output_idle_state(uint32_t timer_peripheral, uint32_t outputs)
Set Timer Output Idle States High.
void timer_slave_set_mode(uint32_t timer, uint8_t mode)
Set Slave Mode.
void timer_set_dma_on_update_event(uint32_t timer_peripheral)
Set Timer DMA Requests on Update Events.
void timer_set_enabled_off_state_in_idle_mode(uint32_t timer_peripheral)
Enable Off-State in Idle Mode.
void timer_enable_update_event(uint32_t timer_peripheral)
Enable Timer Update Events.
void timer_enable_preload_complementry_enable_bits(uint32_t timer_peripheral)
Enable Timer Capture/Compare Control Preload.
tim_ic_filter
Input Capture input filter.
void timer_slave_set_polarity(uint32_t timer, enum tim_et_pol pol)
Set External Trigger Polarity for Slave.
void timer_enable_counter(uint32_t timer_peripheral)
Enable the timer to start counting.
void timer_disable_oc_output(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Disable the Output Compare.
tim_oc_mode
Output Compare mode designators.
void timer_set_ti1_ch1(uint32_t timer_peripheral)
Set Timer 1 Input to Channel 1.
tim_et_pol
Slave external trigger polarity.
void timer_set_oc_idle_state_set(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer set Output Compare Idle State High.
void timer_ic_set_input(uint32_t timer, enum tim_ic_id ic, enum tim_ic_input in)
Set Capture/Compare Channel Direction/Input.
void timer_disable_oc_preload(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Disable the Output Compare Preload Register.
void timer_direction_down(uint32_t timer_peripheral)
Set the Timer to Count Down.
void timer_disable_compare_control_update_on_trigger(uint32_t timer_peripheral)
Disable Timer Capture/Compare Control Update with Trigger.
void timer_ic_enable(uint32_t timer, enum tim_ic_id ic)
Enable Timer Input Capture.
void timer_ic_disable(uint32_t timer, enum tim_ic_id ic)
Disable Timer Input Capture.
void timer_update_on_any(uint32_t timer_peripheral)
Set the Timer to Generate Update IRQ or DMA on any Event.
void timer_disable_break(uint32_t timer_peripheral)
Disable Break.
void timer_enable_irq(uint32_t timer_peripheral, uint32_t irq)
Enable Interrupts for a Timer.
void timer_enable_break_automatic_output(uint32_t timer_peripheral)
Enable Automatic Output in Break.
void timer_set_enabled_off_state_in_run_mode(uint32_t timer_peripheral)
Enable Off-State in Run Mode.
void timer_direction_up(uint32_t timer_peripheral)
Set the Timer to Count Up.
void timer_enable_break_main_output(uint32_t timer_peripheral)
Enable Output in Break.
void timer_set_disabled_off_state_in_run_mode(uint32_t timer_peripheral)
Disable Off-State in Run Mode.
void timer_enable_oc_output(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Enable the Output Compare.
void timer_disable_update_event(uint32_t timer_peripheral)
Disable Timer Update Events.
tim_oc_id
Output Compare channel designators.
void timer_set_ti1_ch123_xor(uint32_t timer_peripheral)
Set Timer 1 Input to XOR of Three Channels.
tim_ecm2_state
External clock mode 2.
void timer_set_oc_value(uint32_t timer_peripheral, enum tim_oc_id oc_id, uint32_t value)
Timer Set Output Compare Value.
tim_ic_input
Input Capture input source.
void timer_ic_set_prescaler(uint32_t timer, enum tim_ic_id ic, enum tim_ic_psc psc)
Set Input Capture Prescaler.
void timer_ic_set_filter(uint32_t timer, enum tim_ic_id ic, enum tim_ic_filter flt)
Set Input Capture Filter Parameters.
void timer_set_oc_polarity_low(uint32_t timer_peripheral, enum tim_oc_id oc_id)
Timer Set the Output Polarity Low.
void timer_disable_break_automatic_output(uint32_t timer_peripheral)
Disable Automatic Output in Break.
void timer_set_break_polarity_low(uint32_t timer_peripheral)
Activate Break when Input Low.
uint32_t timer_get_counter(uint32_t timer_peripheral)
Read Counter.
void timer_generate_event(uint32_t timer_peripheral, uint32_t event)
Force generate a timer event.
void timer_slave_set_filter(uint32_t timer, enum tim_ic_filter flt)
Set External Trigger Filter Parameters for Slave.
void timer_slave_set_extclockmode2(uint32_t timer_peripheral, enum tim_ecm2_state state)
Set External Clock Mode 2.
void timer_set_period(uint32_t timer_peripheral, uint32_t period)
Timer Set Period.
void timer_set_repetition_counter(uint32_t timer_peripheral, uint32_t value)
Set the Value for the Timer Repetition Counter.
void timer_clear_flag(uint32_t timer_peripheral, uint32_t flag)
Clear a Status Flag.
void timer_disable_irq(uint32_t timer_peripheral, uint32_t irq)
Disable Interrupts for a Timer.
tim_ic_id
Input Capture channel designators.
void timer_set_clock_division(uint32_t timer_peripheral, uint32_t clock_div)
Set Input Filter and Dead-time Clock Divider Ratio.