31 #define TIMER_A_CMSIS(x) ((TIMER_A0_Type *) x)
33 #define TIMER_A_CCR0_INTERRUPT 0x00
34 #define TIMER_A_CCRX_AND_OVERFLOW_INTERRUPT 0x01
171 #define TIMER_A_THRESHOLD 50
179 #define TIMER_A_CLOCKSOURCE_DIVIDER_1 0x01
180 #define TIMER_A_CLOCKSOURCE_DIVIDER_2 0x02
181 #define TIMER_A_CLOCKSOURCE_DIVIDER_4 0x04
182 #define TIMER_A_CLOCKSOURCE_DIVIDER_8 0x08
183 #define TIMER_A_CLOCKSOURCE_DIVIDER_3 0x03
184 #define TIMER_A_CLOCKSOURCE_DIVIDER_5 0x05
185 #define TIMER_A_CLOCKSOURCE_DIVIDER_6 0x06
186 #define TIMER_A_CLOCKSOURCE_DIVIDER_7 0x07
187 #define TIMER_A_CLOCKSOURCE_DIVIDER_10 0x0A
188 #define TIMER_A_CLOCKSOURCE_DIVIDER_12 0x0C
189 #define TIMER_A_CLOCKSOURCE_DIVIDER_14 0x0E
190 #define TIMER_A_CLOCKSOURCE_DIVIDER_16 0x10
191 #define TIMER_A_CLOCKSOURCE_DIVIDER_20 0x14
192 #define TIMER_A_CLOCKSOURCE_DIVIDER_24 0x18
193 #define TIMER_A_CLOCKSOURCE_DIVIDER_28 0x1C
194 #define TIMER_A_CLOCKSOURCE_DIVIDER_32 0x20
195 #define TIMER_A_CLOCKSOURCE_DIVIDER_40 0x28
196 #define TIMER_A_CLOCKSOURCE_DIVIDER_48 0x30
197 #define TIMER_A_CLOCKSOURCE_DIVIDER_56 0x38
198 #define TIMER_A_CLOCKSOURCE_DIVIDER_64 0x40
205 #define TIMER_A_STOP_MODE MC_0
206 #define TIMER_A_UP_MODE MC_1
207 #define TIMER_A_CONTINUOUS_MODE MC_2
208 #define TIMER_A_UPDOWN_MODE MC_3
215 #define TIMER_A_DO_CLEAR TACLR
216 #define TIMER_A_SKIP_CLEAR 0x00
223 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK TASSEL__TACLK
224 #define TIMER_A_CLOCKSOURCE_ACLK TASSEL__ACLK
225 #define TIMER_A_CLOCKSOURCE_SMCLK TASSEL__SMCLK
226 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TASSEL__INCLK
234 #define TIMER_A_TAIE_INTERRUPT_ENABLE TAIE
235 #define TIMER_A_TAIE_INTERRUPT_DISABLE 0x00
243 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE CCIE
244 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE 0x00
252 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
253 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE
261 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA CCIS_0
262 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB CCIS_1
263 #define TIMER_A_CAPTURE_INPUTSELECT_GND CCIS_2
264 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc CCIS_3
272 #define TIMER_A_OUTPUTMODE_OUTBITVALUE OUTMOD_0
273 #define TIMER_A_OUTPUTMODE_SET OUTMOD_1
274 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET OUTMOD_2
275 #define TIMER_A_OUTPUTMODE_SET_RESET OUTMOD_3
276 #define TIMER_A_OUTPUTMODE_TOGGLE OUTMOD_4
277 #define TIMER_A_OUTPUTMODE_RESET OUTMOD_5
278 #define TIMER_A_OUTPUTMODE_TOGGLE_SET OUTMOD_6
279 #define TIMER_A_OUTPUTMODE_RESET_SET OUTMOD_7
286 #define TIMER_A_CAPTURECOMPARE_REGISTER_0 0x02
287 #define TIMER_A_CAPTURECOMPARE_REGISTER_1 0x04
288 #define TIMER_A_CAPTURECOMPARE_REGISTER_2 0x06
289 #define TIMER_A_CAPTURECOMPARE_REGISTER_3 0x08
290 #define TIMER_A_CAPTURECOMPARE_REGISTER_4 0x0A
291 #define TIMER_A_CAPTURECOMPARE_REGISTER_5 0x0C
292 #define TIMER_A_CAPTURECOMPARE_REGISTER_6 0x0E
299 #define TIMER_A_CAPTUREMODE_NO_CAPTURE CM_0
300 #define TIMER_A_CAPTUREMODE_RISING_EDGE CM_1
301 #define TIMER_A_CAPTUREMODE_FALLING_EDGE CM_2
302 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3
310 #define TIMER_A_CAPTURE_ASYNCHRONOUS 0x00
311 #define TIMER_A_CAPTURE_SYNCHRONOUS SCS
318 #define TIMER_A_CAPTURE_OVERFLOW COV
319 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG
326 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI
327 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT CCI
330 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH 0x01
331 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW 0x00
339 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH OUT
340 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW 0x00
348 #define TIMER_A_INTERRUPT_NOT_PENDING 0x00
349 #define TIMER_A_INTERRUPT_PENDING 0x01
353 #define Timer_A_setDutyCycle(timer,dutyCycle) \
354 Timer_A_setCompareValue(timer,dutyCycle)
739 uint_fast16_t captureCompareRegister,
740 uint_fast16_t synchronizedSetting);
769 uint_fast16_t captureCompareRegister);
797 uint_fast16_t captureCompareRegister);
829 uint_fast16_t captureCompareRegister,
830 uint_fast8_t outputModeOutBitValue);
947 uint_fast16_t compareRegister, uint_fast16_t compareValue);
1013 uint_fast16_t captureCompareRegister);
1102 uint_fast16_t captureCompareRegister);
1120 uint_fast16_t captureCompareRegister);
1146 uint_fast16_t captureCompareRegister, uint_fast16_t mask);
1170 uint_fast16_t captureCompareRegister);
1204 uint_fast8_t interruptSelect,
void (*intHandler)(
void));
1235 uint_fast8_t interruptSelect);
1238 #define TIMER_A_startCounter Timer_A_startCounter
1239 #define TIMER_A_clearTimerInterruptFlag Timer_A_clearInterruptFlag
1240 #define TIMER_A_clearCaptureCompareInterruptFlag Timer_A_clearCaptureCompareInterrupt
1241 #define TIMER_A_getCounterValue Timer_A_getCounterValue
1242 #define TIMER_A_setCompareValue Timer_A_setCompareValue
1243 #define TIMER_A_stop Timer_A_stopTimer
1244 #define TIMER_A_setOutputForOutputModeOutBitValue Timer_A_setOutputForOutputModeOutBitValue
1245 #define TIMER_A_enableInterrupt Timer_A_enableInterrupt
1246 #define TIMER_A_disableInterrupt Timer_A_disableInterrupt
1247 #define TIMER_A_getInterruptStatus Timer_A_getInterruptStatus
1248 #define TIMER_A_enableCaptureCompareInterrupt Timer_A_enableCaptureCompareInterrupt
1249 #define TIMER_A_disableCaptureCompareInterrupt Timer_A_disableCaptureCompareInterrupt
1250 #define TIMER_A_getCaptureCompareInterruptStatus Timer_A_getCaptureCompareInterruptStatus
1251 #define TIMER_A_clear Timer_A_clearTimer
1252 #define TIMER_A_getSynchronizedCaptureCompareInput Timer_A_getSynchronizedCaptureCompareInput
1253 #define TIMER_A_getCaptureCompareCount Timer_A_getCaptureCompareCount
uint_fast16_t compareOutputMode
Definition: timer_a.h:160
void Timer_A_stopTimer(uint32_t timer)
Definition: timer_a.c:519
Configuration structure for PWM mode in the Timer_A module. See Timer_A_generatePWM for parameter doc...
Definition: timer_a.h:154
uint_fast16_t timerClear
Definition: timer_a.h:75
uint_fast16_t clockSource
Definition: timer_a.h:92
void Timer_A_disableInterrupt(uint32_t timer)
Definition: timer_a.c:570
uint16_t Timer_A_getCounterValue(uint32_t timer)
Definition: timer_a.c:352
uint_fast8_t captureInterruptEnable
Definition: timer_a.h:118
uint_fast16_t clockSourceDivider
Definition: timer_a.h:157
uint_fast8_t Timer_A_getOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:410
uint_fast16_t timerClear
Definition: timer_a.h:97
void Timer_A_clearCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:544
struct _Timer_A_PWMConfig Timer_A_PWMConfig
Type definition for _Timer_A_PWMConfig structure.
uint32_t Timer_A_getCaptureCompareInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t mask)
Definition: timer_a.c:621
struct _Timer_A_CaptureModeConfig Timer_A_CaptureModeConfig
Type definition for _Timer_A_CaptureModeConfig structure.
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:73
uint32_t Timer_A_getCaptureCompareEnabledInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:639
uint_fast16_t synchronizeCaptureSource
Definition: timer_a.h:117
uint_fast16_t clockSource
Definition: timer_a.h:70
uint_fast16_t compareRegister
Definition: timer_a.h:159
void Timer_A_initCompare(uint32_t timer, const Timer_A_CompareModeConfig *config)
Definition: timer_a.c:292
void Timer_A_configureUpDownMode(uint32_t timer, const Timer_A_UpDownModeConfig *config)
Definition: timer_a.c:174
Configuration structure for UpDown mode in the Timer_A module. See Timer_A_configureUpDownMode for pa...
Definition: timer_a.h:90
uint_fast16_t timerPeriod
Definition: timer_a.h:72
void Timer_A_initCapture(uint32_t timer, const Timer_A_CaptureModeConfig *config)
Definition: timer_a.c:209
void Timer_A_registerInterrupt(uint32_t timer, uint_fast8_t interruptSelect, void(*intHandler)(void))
Definition: timer_a.c:651
void Timer_A_unregisterInterrupt(uint32_t timer, uint_fast8_t interruptSelect)
Definition: timer_a.c:706
uint_fast8_t Timer_A_getSynchronizedCaptureCompareInput(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t synchronizedSetting)
Definition: timer_a.c:381
uint_fast16_t captureOutputMode
Definition: timer_a.h:119
uint_fast16_t Timer_A_getCaptureCompareCount(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:434
uint_fast16_t timerPeriod
Definition: timer_a.h:158
uint_fast16_t clockSourceDivider
Definition: timer_a.h:51
uint_fast16_t compareInterruptEnable
Definition: timer_a.h:137
uint_fast16_t compareValue
Definition: timer_a.h:139
uint32_t Timer_A_getInterruptStatus(uint32_t timer)
Definition: timer_a.c:575
uint_fast16_t clockSourceDivider
Definition: timer_a.h:93
Configuration structure for Up mode in the Timer_A module. See Timer_A_configureUpMode for parameter ...
Definition: timer_a.h:68
uint_fast16_t clockSourceDivider
Definition: timer_a.h:71
struct _Timer_A_CompareModeConfig Timer_A_CompareModeConfig
Type definition for _Timer_A_CompareModeConfig structure.
void Timer_A_startCounter(uint32_t timer, uint_fast16_t timerMode)
Definition: timer_a.c:59
uint_fast16_t dutyCycle
Definition: timer_a.h:161
uint_fast16_t clockSource
Definition: timer_a.h:50
void Timer_A_setOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast8_t outputModeOutBitValue)
Definition: timer_a.c:455
uint_fast16_t captureInputSelect
Definition: timer_a.h:116
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:95
struct _Timer_A_UpModeConfig Timer_A_UpModeConfig
Type definition for _Timer_A_UpModeConfig structure.
void Timer_A_configureContinuousMode(uint32_t timer, const Timer_A_ContinuousModeConfig *config)
Definition: timer_a.c:69
uint_fast16_t timerClear
Definition: timer_a.h:53
void Timer_A_clearTimer(uint32_t timer)
Definition: timer_a.c:376
uint_fast16_t clockSource
Definition: timer_a.h:156
void Timer_A_setCompareValue(uint32_t timer, uint_fast16_t compareRegister, uint_fast16_t compareValue)
Definition: timer_a.c:524
Configuration structure for compare mode in the Timer_A module. See Timer_A_initCompare for parameter...
Definition: timer_a.h:134
void Timer_A_generatePWM(uint32_t timer, const Timer_A_PWMConfig *config)
Definition: timer_a.c:463
struct _Timer_A_UpDownModeConfig Timer_A_UpDownModeConfig
Type definition for _Timer_A_UpDownModeConfig structure.
struct _Timer_A_ContinuousModeConfig Timer_A_ContinuousModeConfig
Type definition for _Timer_A_ContinuousModeConfig structure.
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:52
uint_fast16_t compareRegister
Definition: timer_a.h:136
void Timer_A_enableInterrupt(uint32_t timer)
Definition: timer_a.c:565
Configuration structure for continuous mode in the Timer_A module. See Timer_A_configureContinuousMod...
Definition: timer_a.h:48
uint_fast16_t captureMode
Definition: timer_a.h:115
uint_fast16_t compareOutputMode
Definition: timer_a.h:138
uint_fast16_t captureRegister
Definition: timer_a.h:114
void Timer_A_disableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:601
Configuration structure for capture mode in the Timer_A module. See Timer_A_initCapture for parameter...
Definition: timer_a.h:112
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:96
void Timer_A_clearInterruptFlag(uint32_t timer)
Definition: timer_a.c:539
void Timer_A_enableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:580
uint32_t Timer_A_getEnabledInterruptStatus(uint32_t timer)
Definition: timer_a.c:627
uint_fast16_t timerPeriod
Definition: timer_a.h:94
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:74
void Timer_A_configureUpMode(uint32_t timer, const Timer_A_UpModeConfig *config)
Definition: timer_a.c:139