timer_a.h
Go to the documentation of this file.
1 /* --COPYRIGHT--,BSD
2  * Copyright (c) 2017, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  * --/COPYRIGHT--*/
32 #ifndef TIMERA_H_
33 #define TIMERA_H_
34 
35 //*****************************************************************************
36 //
39 //
40 //*****************************************************************************
41 
42 //*****************************************************************************
43 //
44 // If building with a C++ compiler, make all of the definitions in this header
45 // have a C binding.
46 //
47 //*****************************************************************************
48 #ifdef __cplusplus
49 extern "C"
50 {
51 #endif
52 #include <stdint.h>
53 #include <ti/devices/msp432p4xx/inc/msp.h>
54 #include <stdbool.h>
55 
56 //*****************************************************************************
57 //
58 // Timer_A Specific Parameters
59 //
60 //*****************************************************************************
61 #define TIMER_A_CMSIS(x) ((Timer_A_Type *) x)
62 
63 #define TIMER_A_CCR0_INTERRUPT 0x00
64 #define TIMER_A_CCRX_AND_OVERFLOW_INTERRUPT 0x01
65 
66 //*****************************************************************************
67 //
76 //
77 //*****************************************************************************
79 {
80  uint_fast16_t clockSource;
81  uint_fast16_t clockSourceDivider;
83  uint_fast16_t timerClear;
85 
86 //*****************************************************************************
87 //
96 //
97 //*****************************************************************************
98 typedef struct _Timer_A_UpModeConfig
99 {
100  uint_fast16_t clockSource;
101  uint_fast16_t clockSourceDivider;
102  uint_fast16_t timerPeriod;
105  uint_fast16_t timerClear;
107 
108 //*****************************************************************************
109 //
118 //
119 //*****************************************************************************
121 {
122  uint_fast16_t clockSource;
123  uint_fast16_t clockSourceDivider;
124  uint_fast16_t timerPeriod;
127  uint_fast16_t timerClear;
129 
130 //*****************************************************************************
131 //
140 //
141 //*****************************************************************************
143 {
144  uint_fast16_t captureRegister;
145  uint_fast16_t captureMode;
146  uint_fast16_t captureInputSelect;
149  uint_fast16_t captureOutputMode;
151 
152 //*****************************************************************************
153 //
162 //
163 //*****************************************************************************
165 {
166  uint_fast16_t compareRegister;
167  uint_fast16_t compareInterruptEnable;
168  uint_fast16_t compareOutputMode;
169  uint_fast16_t compareValue;
171 
172 //*****************************************************************************
173 //
182 //
183 //*****************************************************************************
184 typedef struct _Timer_A_PWMConfig
185 {
186  uint_fast16_t clockSource;
187  uint_fast16_t clockSourceDivider;
188  uint_fast16_t timerPeriod;
189  uint_fast16_t compareRegister;
190  uint_fast16_t compareOutputMode;
191  uint_fast16_t dutyCycle;
193 
194 
195 //*****************************************************************************
196 //
197 // The following is a parameter determines the maximum difference in counts of
198 // the TAxR register for a majority vote
199 //
200 //*****************************************************************************
201 #define TIMER_A_THRESHOLD 50
202 
203 //*****************************************************************************
204 //
205 // The following are values that can be passed to the clockSourceDivider
206 // parameter
207 //
208 //*****************************************************************************
209 #define TIMER_A_CLOCKSOURCE_DIVIDER_1 0x01
210 #define TIMER_A_CLOCKSOURCE_DIVIDER_2 0x02
211 #define TIMER_A_CLOCKSOURCE_DIVIDER_4 0x04
212 #define TIMER_A_CLOCKSOURCE_DIVIDER_8 0x08
213 #define TIMER_A_CLOCKSOURCE_DIVIDER_3 0x03
214 #define TIMER_A_CLOCKSOURCE_DIVIDER_5 0x05
215 #define TIMER_A_CLOCKSOURCE_DIVIDER_6 0x06
216 #define TIMER_A_CLOCKSOURCE_DIVIDER_7 0x07
217 #define TIMER_A_CLOCKSOURCE_DIVIDER_10 0x0A
218 #define TIMER_A_CLOCKSOURCE_DIVIDER_12 0x0C
219 #define TIMER_A_CLOCKSOURCE_DIVIDER_14 0x0E
220 #define TIMER_A_CLOCKSOURCE_DIVIDER_16 0x10
221 #define TIMER_A_CLOCKSOURCE_DIVIDER_20 0x14
222 #define TIMER_A_CLOCKSOURCE_DIVIDER_24 0x18
223 #define TIMER_A_CLOCKSOURCE_DIVIDER_28 0x1C
224 #define TIMER_A_CLOCKSOURCE_DIVIDER_32 0x20
225 #define TIMER_A_CLOCKSOURCE_DIVIDER_40 0x28
226 #define TIMER_A_CLOCKSOURCE_DIVIDER_48 0x30
227 #define TIMER_A_CLOCKSOURCE_DIVIDER_56 0x38
228 #define TIMER_A_CLOCKSOURCE_DIVIDER_64 0x40
229 
230 //*****************************************************************************
231 //
232 // The following are values that can be passed to the timerMode parameter
233 //
234 //*****************************************************************************
235 #define TIMER_A_STOP_MODE TIMER_A_CTL_MC_0
236 #define TIMER_A_UP_MODE TIMER_A_CTL_MC_1
237 #define TIMER_A_CONTINUOUS_MODE TIMER_A_CTL_MC_2
238 #define TIMER_A_UPDOWN_MODE TIMER_A_CTL_MC_3
239 
240 //*****************************************************************************
241 //
242 // The following are values that can be passed to the timerClear parameter
243 //
244 //*****************************************************************************
245 #define TIMER_A_DO_CLEAR TIMER_A_CTL_CLR
246 #define TIMER_A_SKIP_CLEAR 0x00
247 
248 //*****************************************************************************
249 //
250 // The following are values that can be passed to the clockSource parameter
251 //
252 //*****************************************************************************
253 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK TIMER_A_CTL_SSEL__TACLK
254 #define TIMER_A_CLOCKSOURCE_ACLK TIMER_A_CTL_SSEL__ACLK
255 #define TIMER_A_CLOCKSOURCE_SMCLK TIMER_A_CTL_SSEL__SMCLK
256 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TIMER_A_CTL_SSEL__INCLK
257 
258 //*****************************************************************************
259 //
260 // The following are values that can be passed to the timerInterruptEnable_TAIE
261 // parameter
262 //
263 //*****************************************************************************
264 #define TIMER_A_TAIE_INTERRUPT_ENABLE TIMER_A_CTL_IE
265 #define TIMER_A_TAIE_INTERRUPT_DISABLE 0x00
266 
267 //*****************************************************************************
268 //
269 // The following are values that can be passed to the
270 // captureCompareInterruptEnable_CCR0_CCIE parameter
271 //
272 //*****************************************************************************
273 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE TIMER_A_CCTLN_CCIE
274 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE 0x00
275 
276 //*****************************************************************************
277 //
278 // The following are values that can be passed to the captureInterruptEnable
279 // parameter
280 //
281 //*****************************************************************************
282 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
283 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE TIMER_A_CCTLN_CCIE
284 
285 //*****************************************************************************
286 //
287 // The following are values that can be passed to the captureInputSelect
288 // parameter
289 //
290 //*****************************************************************************
291 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA TIMER_A_CCTLN_CCIS_0
292 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB TIMER_A_CCTLN_CCIS_1
293 #define TIMER_A_CAPTURE_INPUTSELECT_GND TIMER_A_CCTLN_CCIS_2
294 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc TIMER_A_CCTLN_CCIS_3
295 
296 //*****************************************************************************
297 //
298 // The following are values that can be passed to the compareOutputMode
299 // parameter
300 //
301 //*****************************************************************************
302 #define TIMER_A_OUTPUTMODE_OUTBITVALUE TIMER_A_CCTLN_OUTMOD_0
303 #define TIMER_A_OUTPUTMODE_SET TIMER_A_CCTLN_OUTMOD_1
304 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET TIMER_A_CCTLN_OUTMOD_2
305 #define TIMER_A_OUTPUTMODE_SET_RESET TIMER_A_CCTLN_OUTMOD_3
306 #define TIMER_A_OUTPUTMODE_TOGGLE TIMER_A_CCTLN_OUTMOD_4
307 #define TIMER_A_OUTPUTMODE_RESET TIMER_A_CCTLN_OUTMOD_5
308 #define TIMER_A_OUTPUTMODE_TOGGLE_SET TIMER_A_CCTLN_OUTMOD_6
309 #define TIMER_A_OUTPUTMODE_RESET_SET TIMER_A_CCTLN_OUTMOD_7
310 
311 //*****************************************************************************
312 //
313 // The following are values that can be passed to the compareRegister parameter
314 //
315 //*****************************************************************************
316 #define TIMER_A_CAPTURECOMPARE_REGISTER_0 0x02
317 #define TIMER_A_CAPTURECOMPARE_REGISTER_1 0x04
318 #define TIMER_A_CAPTURECOMPARE_REGISTER_2 0x06
319 #define TIMER_A_CAPTURECOMPARE_REGISTER_3 0x08
320 #define TIMER_A_CAPTURECOMPARE_REGISTER_4 0x0A
321 #define TIMER_A_CAPTURECOMPARE_REGISTER_5 0x0C
322 #define TIMER_A_CAPTURECOMPARE_REGISTER_6 0x0E
323 
324 //*****************************************************************************
325 //
326 // The following are values that can be passed to the captureMode parameter
327 //
328 //*****************************************************************************
329 #define TIMER_A_CAPTUREMODE_NO_CAPTURE TIMER_A_CCTLN_CM_0
330 #define TIMER_A_CAPTUREMODE_RISING_EDGE TIMER_A_CCTLN_CM_1
331 #define TIMER_A_CAPTUREMODE_FALLING_EDGE TIMER_A_CCTLN_CM_2
332 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE TIMER_A_CCTLN_CM_3
333 
334 //*****************************************************************************
335 //
336 // The following are values that can be passed to the synchronizeCaptureSource
337 // parameter
338 //
339 //*****************************************************************************
340 #define TIMER_A_CAPTURE_ASYNCHRONOUS 0x00
341 #define TIMER_A_CAPTURE_SYNCHRONOUS TIMER_A_CCTLN_SCS
342 
343 //*****************************************************************************
344 //
345 // The following are values that can be passed to the mask parameter
346 //
347 //*****************************************************************************
348 #define TIMER_A_CAPTURE_OVERFLOW TIMER_A_CCTLN_COV
349 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG TIMER_A_CCTLN_CCIFG
350 
351 //*****************************************************************************
352 //
353 // The following are values that can be passed to the synchronized parameter
354 //
355 //*****************************************************************************
356 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT TIMER_A_CCTLN_SCCI
357 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT TIMER_A_CCTLN_CCI
358 
359 
360 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH 0x01
361 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW 0x00
362 
363 //*****************************************************************************
364 //
365 // The following are values that can be passed to the outputModeOutBitValue
366 // parameter
367 //
368 //*****************************************************************************
369 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH TIMER_A_CCTLN_OUT
370 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW 0x00
371 
372 //*****************************************************************************
373 //
374 // The following are values that can be passed toThe following are values that
375 // can be returned by the interrupt functions
376 //
377 //*****************************************************************************
378 #define TIMER_A_INTERRUPT_NOT_PENDING 0x00
379 #define TIMER_A_INTERRUPT_PENDING 0x01
380 
381 
382 /* Convenience function for setting the PWM Duty Cycle */
383 #define Timer_A_setDutyCycle(timer,dutyCycle) \
384  Timer_A_setCompareValue(timer,dutyCycle)
385 
386 //*****************************************************************************
387 //
388 //Prototypes for the APIs.
389 //
390 //*****************************************************************************
391 
392 //*****************************************************************************
393 //
412 //
413 //*****************************************************************************
414 extern void Timer_A_startCounter(uint32_t timer, uint_fast16_t timerMode);
415 
416 //*****************************************************************************
417 //
473 //
474 //*****************************************************************************
475 extern void Timer_A_configureContinuousMode(uint32_t timer,
476  const Timer_A_ContinuousModeConfig *config);
477 
478 //*****************************************************************************
479 //
540 //
541 //*****************************************************************************
542 extern void Timer_A_configureUpMode(uint32_t timer,
543  const Timer_A_UpModeConfig *config);
544 
545 //*****************************************************************************
546 //
607 //
608 //*****************************************************************************
609 extern void Timer_A_configureUpDownMode(uint32_t timer,
610  const Timer_A_UpDownModeConfig *config);
611 
612 //*****************************************************************************
613 //
669 //
670 //*****************************************************************************
671 extern void Timer_A_initCapture(uint32_t timer,
672  const Timer_A_CaptureModeConfig *config);
673 
674 //*****************************************************************************
675 //
717 //
718 //*****************************************************************************
719 extern void Timer_A_initCompare(uint32_t timer,
720  const Timer_A_CompareModeConfig *config);
721 
722 //*****************************************************************************
723 //
734 //
735 //*****************************************************************************
736 extern void Timer_A_clearTimer(uint32_t timer);
737 
738 //*****************************************************************************
739 //
766 //
767 //*****************************************************************************
768 extern uint_fast8_t Timer_A_getSynchronizedCaptureCompareInput(uint32_t timer,
769  uint_fast16_t captureCompareRegister,
770  uint_fast16_t synchronizedSetting);
771 
772 //*****************************************************************************
773 //
796 //
797 //*****************************************************************************
798 extern uint_fast8_t Timer_A_getOutputForOutputModeOutBitValue(uint32_t timer,
799  uint_fast16_t captureCompareRegister);
800 
801 //*****************************************************************************
802 //
824 //
825 //*****************************************************************************
826 extern uint_fast16_t Timer_A_getCaptureCompareCount(uint32_t timer,
827  uint_fast16_t captureCompareRegister);
828 
829 //*****************************************************************************
830 //
856 //
857 //*****************************************************************************
858 extern void Timer_A_setOutputForOutputModeOutBitValue(uint32_t timer,
859  uint_fast16_t captureCompareRegister,
860  uint_fast8_t outputModeOutBitValue);
861 
862 //*****************************************************************************
863 //
929 //
930 //*****************************************************************************
931 extern void Timer_A_generatePWM(uint32_t timer,
932  const Timer_A_PWMConfig *config);
933 
934 //*****************************************************************************
935 //
946 //
947 //*****************************************************************************
948 extern void Timer_A_stopTimer(uint32_t timer);
949 
950 //*****************************************************************************
951 //
974 //
975 //*****************************************************************************
976 extern void Timer_A_setCompareValue(uint32_t timer,
977  uint_fast16_t compareRegister, uint_fast16_t compareValue);
978 
979 //*****************************************************************************
980 //
997 //
998 //*****************************************************************************
999 extern uint16_t Timer_A_getCounterValue(uint32_t timer);
1000 
1001 //*****************************************************************************
1002 //
1013 //
1014 //*****************************************************************************
1015 extern void Timer_A_clearInterruptFlag(uint32_t timer);
1016 
1017 //*****************************************************************************
1018 //
1040 //
1041 //*****************************************************************************
1042 extern void Timer_A_clearCaptureCompareInterrupt(uint32_t timer,
1043  uint_fast16_t captureCompareRegister);
1044 
1045 //*****************************************************************************
1046 //
1057 //
1058 //*****************************************************************************
1059 extern void Timer_A_enableInterrupt(uint32_t timer);
1060 
1061 //*****************************************************************************
1062 //
1073 //
1074 //*****************************************************************************
1075 extern void Timer_A_disableInterrupt(uint32_t timer);
1076 
1077 //*****************************************************************************
1078 //
1091 //
1092 //*****************************************************************************
1093 extern uint32_t Timer_A_getInterruptStatus(uint32_t timer);
1094 
1095 //*****************************************************************************
1096 //
1112 //
1113 //*****************************************************************************
1114 extern uint32_t Timer_A_getEnabledInterruptStatus(uint32_t timer);
1115 
1116 //*****************************************************************************
1117 //
1129 //
1130 //*****************************************************************************
1131 extern void Timer_A_enableCaptureCompareInterrupt(uint32_t timer,
1132  uint_fast16_t captureCompareRegister);
1133 
1134 //*****************************************************************************
1135 //
1147 //
1148 //*****************************************************************************
1149 extern void Timer_A_disableCaptureCompareInterrupt(uint32_t timer,
1150  uint_fast16_t captureCompareRegister);
1151 
1152 //*****************************************************************************
1153 //
1173 //
1174 //*****************************************************************************
1175 extern uint32_t Timer_A_getCaptureCompareInterruptStatus(uint32_t timer,
1176  uint_fast16_t captureCompareRegister, uint_fast16_t mask);
1177 
1178 //*****************************************************************************
1179 //
1197 //
1198 //*****************************************************************************
1199 extern uint32_t Timer_A_getCaptureCompareEnabledInterruptStatus(uint32_t timer,
1200  uint_fast16_t captureCompareRegister);
1201 
1202 //*****************************************************************************
1203 //
1231 //
1232 //*****************************************************************************
1233 extern void Timer_A_registerInterrupt(uint32_t timer,
1234  uint_fast8_t interruptSelect, void (*intHandler)(void));
1235 
1236 //*****************************************************************************
1237 //
1262 //
1263 //*****************************************************************************
1264 extern void Timer_A_unregisterInterrupt(uint32_t timer,
1265  uint_fast8_t interruptSelect);
1266 
1267 /* Backwards Compatibility Layer */
1268 #define Timer_A_clearTimerInterrupt Timer_A_clearInterruptFlag
1269 #define Timer_A_clear Timer_A_clearTimer
1270 #define Timer_A_initCaptureMode Timer_A_initCapture
1271 #define Timer_A_initCompareMode Timer_A_initCompare
1272 #define Timer_A_initContinuousMode Timer_A_configureContinuousMode
1273 #define Timer_A_initUpDownMode Timer_A_configureUpDownMode
1274 #define Timer_A_initUpMode Timer_A_configureUpMode
1275 #define Timer_A_outputPWM Timer_A_generatePWM
1276 #define Timer_A_stop Timer_A_stopTimer
1277 
1278 //*****************************************************************************
1279 //
1280 // Mark the end of the C bindings section for C++ compilers.
1281 //
1282 //*****************************************************************************
1283 #ifdef __cplusplus
1284 }
1285 #endif
1286 
1287 //*****************************************************************************
1288 //
1289 // Close the Doxygen group.
1291 //
1292 //*****************************************************************************
1293 
1294 #endif /* TIMERA_H_ */
uint_fast16_t compareOutputMode
Definition: timer_a.h:190
void Timer_A_stopTimer(uint32_t timer)
Definition: timer_a.c:559
Type definition for _Timer_A_PWMConfig structure.
Definition: timer_a.h:184
uint_fast16_t timerClear
Definition: timer_a.h:105
uint_fast16_t clockSource
Definition: timer_a.h:122
void Timer_A_disableInterrupt(uint32_t timer)
Definition: timer_a.c:612
uint16_t Timer_A_getCounterValue(uint32_t timer)
Definition: timer_a.c:385
uint_fast8_t captureInterruptEnable
Definition: timer_a.h:148
uint_fast16_t clockSourceDivider
Definition: timer_a.h:187
uint_fast8_t Timer_A_getOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:444
uint_fast16_t timerClear
Definition: timer_a.h:127
void Timer_A_clearCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:585
uint32_t Timer_A_getCaptureCompareInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t mask)
Definition: timer_a.c:667
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:103
uint32_t Timer_A_getCaptureCompareEnabledInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:686
struct _Timer_A_ContinuousModeConfig Timer_A_ContinuousModeConfig
struct _Timer_A_CaptureModeConfig Timer_A_CaptureModeConfig
uint_fast16_t synchronizeCaptureSource
Definition: timer_a.h:147
uint_fast16_t clockSource
Definition: timer_a.h:100
uint_fast16_t compareRegister
Definition: timer_a.h:189
void Timer_A_initCompare(uint32_t timer, const Timer_A_CompareModeConfig *config)
Definition: timer_a.c:324
void Timer_A_configureUpDownMode(uint32_t timer, const Timer_A_UpDownModeConfig *config)
Definition: timer_a.c:205
Type definition for _Timer_A_UpDownModeConfig structure.
Definition: timer_a.h:120
uint_fast16_t timerPeriod
Definition: timer_a.h:102
void Timer_A_initCapture(uint32_t timer, const Timer_A_CaptureModeConfig *config)
Definition: timer_a.c:240
void Timer_A_registerInterrupt(uint32_t timer, uint_fast8_t interruptSelect, void(*intHandler)(void))
Definition: timer_a.c:699
struct _Timer_A_PWMConfig Timer_A_PWMConfig
void Timer_A_unregisterInterrupt(uint32_t timer, uint_fast8_t interruptSelect)
Definition: timer_a.c:754
uint_fast8_t Timer_A_getSynchronizedCaptureCompareInput(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t synchronizedSetting)
Definition: timer_a.c:414
uint_fast16_t captureOutputMode
Definition: timer_a.h:149
uint_fast16_t Timer_A_getCaptureCompareCount(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:469
uint_fast16_t timerPeriod
Definition: timer_a.h:188
uint_fast16_t clockSourceDivider
Definition: timer_a.h:81
uint_fast16_t compareInterruptEnable
Definition: timer_a.h:167
uint_fast16_t compareValue
Definition: timer_a.h:169
uint32_t Timer_A_getInterruptStatus(uint32_t timer)
Definition: timer_a.c:617
uint_fast16_t clockSourceDivider
Definition: timer_a.h:123
Type definition for _Timer_A_UpModeConfig structure.
Definition: timer_a.h:98
uint_fast16_t clockSourceDivider
Definition: timer_a.h:101
void Timer_A_startCounter(uint32_t timer, uint_fast16_t timerMode)
Definition: timer_a.c:90
uint_fast16_t dutyCycle
Definition: timer_a.h:191
uint_fast16_t clockSource
Definition: timer_a.h:80
void Timer_A_setOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast8_t outputModeOutBitValue)
Definition: timer_a.c:491
uint_fast16_t captureInputSelect
Definition: timer_a.h:146
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:125
struct _Timer_A_UpModeConfig Timer_A_UpModeConfig
void Timer_A_configureContinuousMode(uint32_t timer, const Timer_A_ContinuousModeConfig *config)
Definition: timer_a.c:100
uint_fast16_t timerClear
Definition: timer_a.h:83
void Timer_A_clearTimer(uint32_t timer)
Definition: timer_a.c:409
uint_fast16_t clockSource
Definition: timer_a.h:186
void Timer_A_setCompareValue(uint32_t timer, uint_fast16_t compareRegister, uint_fast16_t compareValue)
Definition: timer_a.c:564
Type definition for _Timer_A_CompareModeConfig structure.
Definition: timer_a.h:164
void Timer_A_generatePWM(uint32_t timer, const Timer_A_PWMConfig *config)
Definition: timer_a.c:502
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:82
uint_fast16_t compareRegister
Definition: timer_a.h:166
void Timer_A_enableInterrupt(uint32_t timer)
Definition: timer_a.c:607
struct _Timer_A_UpDownModeConfig Timer_A_UpDownModeConfig
Type definition for _Timer_A_ContinuousModeConfig structure.
Definition: timer_a.h:78
uint_fast16_t captureMode
Definition: timer_a.h:145
uint_fast16_t compareOutputMode
Definition: timer_a.h:168
uint_fast16_t captureRegister
Definition: timer_a.h:144
void Timer_A_disableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:644
Type definition for _Timer_A_CaptureModeConfig structure.
Definition: timer_a.h:142
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:126
void Timer_A_clearInterruptFlag(uint32_t timer)
Definition: timer_a.c:580
struct _Timer_A_CompareModeConfig Timer_A_CompareModeConfig
void Timer_A_enableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:622
uint32_t Timer_A_getEnabledInterruptStatus(uint32_t timer)
Definition: timer_a.c:674
uint_fast16_t timerPeriod
Definition: timer_a.h:124
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:104
void Timer_A_configureUpMode(uint32_t timer, const Timer_A_UpModeConfig *config)
Definition: timer_a.c:170

Copyright 2018, Texas Instruments Incorporated