30 #define TIMER_A_CMSIS(x) ((Timer_A_Type *) x)
32 #define TIMER_A_CCR0_INTERRUPT 0x00
33 #define TIMER_A_CCRX_AND_OVERFLOW_INTERRUPT 0x01
170 #define TIMER_A_THRESHOLD 50
178 #define TIMER_A_CLOCKSOURCE_DIVIDER_1 0x01
179 #define TIMER_A_CLOCKSOURCE_DIVIDER_2 0x02
180 #define TIMER_A_CLOCKSOURCE_DIVIDER_4 0x04
181 #define TIMER_A_CLOCKSOURCE_DIVIDER_8 0x08
182 #define TIMER_A_CLOCKSOURCE_DIVIDER_3 0x03
183 #define TIMER_A_CLOCKSOURCE_DIVIDER_5 0x05
184 #define TIMER_A_CLOCKSOURCE_DIVIDER_6 0x06
185 #define TIMER_A_CLOCKSOURCE_DIVIDER_7 0x07
186 #define TIMER_A_CLOCKSOURCE_DIVIDER_10 0x0A
187 #define TIMER_A_CLOCKSOURCE_DIVIDER_12 0x0C
188 #define TIMER_A_CLOCKSOURCE_DIVIDER_14 0x0E
189 #define TIMER_A_CLOCKSOURCE_DIVIDER_16 0x10
190 #define TIMER_A_CLOCKSOURCE_DIVIDER_20 0x14
191 #define TIMER_A_CLOCKSOURCE_DIVIDER_24 0x18
192 #define TIMER_A_CLOCKSOURCE_DIVIDER_28 0x1C
193 #define TIMER_A_CLOCKSOURCE_DIVIDER_32 0x20
194 #define TIMER_A_CLOCKSOURCE_DIVIDER_40 0x28
195 #define TIMER_A_CLOCKSOURCE_DIVIDER_48 0x30
196 #define TIMER_A_CLOCKSOURCE_DIVIDER_56 0x38
197 #define TIMER_A_CLOCKSOURCE_DIVIDER_64 0x40
204 #define TIMER_A_STOP_MODE TIMER_A_CTL_MC_0
205 #define TIMER_A_UP_MODE TIMER_A_CTL_MC_1
206 #define TIMER_A_CONTINUOUS_MODE TIMER_A_CTL_MC_2
207 #define TIMER_A_UPDOWN_MODE TIMER_A_CTL_MC_3
214 #define TIMER_A_DO_CLEAR TIMER_A_CTL_CLR
215 #define TIMER_A_SKIP_CLEAR 0x00
222 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK TIMER_A_CTL_SSEL__TACLK
223 #define TIMER_A_CLOCKSOURCE_ACLK TIMER_A_CTL_SSEL__ACLK
224 #define TIMER_A_CLOCKSOURCE_SMCLK TIMER_A_CTL_SSEL__SMCLK
225 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TIMER_A_CTL_SSEL__INCLK
233 #define TIMER_A_TAIE_INTERRUPT_ENABLE TIMER_A_CTL_IE
234 #define TIMER_A_TAIE_INTERRUPT_DISABLE 0x00
242 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE TIMER_A_CCTLN_CCIE
243 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE 0x00
251 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
252 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE TIMER_A_CCTLN_CCIE
260 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA TIMER_A_CCTLN_CCIS_0
261 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB TIMER_A_CCTLN_CCIS_1
262 #define TIMER_A_CAPTURE_INPUTSELECT_GND TIMER_A_CCTLN_CCIS_2
263 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc TIMER_A_CCTLN_CCIS_3
271 #define TIMER_A_OUTPUTMODE_OUTBITVALUE TIMER_A_CCTLN_OUTMOD_0
272 #define TIMER_A_OUTPUTMODE_SET TIMER_A_CCTLN_OUTMOD_1
273 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET TIMER_A_CCTLN_OUTMOD_2
274 #define TIMER_A_OUTPUTMODE_SET_RESET TIMER_A_CCTLN_OUTMOD_3
275 #define TIMER_A_OUTPUTMODE_TOGGLE TIMER_A_CCTLN_OUTMOD_4
276 #define TIMER_A_OUTPUTMODE_RESET TIMER_A_CCTLN_OUTMOD_5
277 #define TIMER_A_OUTPUTMODE_TOGGLE_SET TIMER_A_CCTLN_OUTMOD_6
278 #define TIMER_A_OUTPUTMODE_RESET_SET TIMER_A_CCTLN_OUTMOD_7
285 #define TIMER_A_CAPTURECOMPARE_REGISTER_0 0x02
286 #define TIMER_A_CAPTURECOMPARE_REGISTER_1 0x04
287 #define TIMER_A_CAPTURECOMPARE_REGISTER_2 0x06
288 #define TIMER_A_CAPTURECOMPARE_REGISTER_3 0x08
289 #define TIMER_A_CAPTURECOMPARE_REGISTER_4 0x0A
290 #define TIMER_A_CAPTURECOMPARE_REGISTER_5 0x0C
291 #define TIMER_A_CAPTURECOMPARE_REGISTER_6 0x0E
298 #define TIMER_A_CAPTUREMODE_NO_CAPTURE TIMER_A_CCTLN_CM_0
299 #define TIMER_A_CAPTUREMODE_RISING_EDGE TIMER_A_CCTLN_CM_1
300 #define TIMER_A_CAPTUREMODE_FALLING_EDGE TIMER_A_CCTLN_CM_2
301 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE TIMER_A_CCTLN_CM_3
309 #define TIMER_A_CAPTURE_ASYNCHRONOUS 0x00
310 #define TIMER_A_CAPTURE_SYNCHRONOUS TIMER_A_CCTLN_SCS
317 #define TIMER_A_CAPTURE_OVERFLOW TIMER_A_CCTLN_COV
318 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG TIMER_A_CCTLN_CCIFG
325 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT TIMER_A_CCTLN_SCCI
326 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT TIMER_A_CCTLN_CCI
329 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH 0x01
330 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW 0x00
338 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH TIMER_A_CCTLN_OUT
339 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW 0x00
347 #define TIMER_A_INTERRUPT_NOT_PENDING 0x00
348 #define TIMER_A_INTERRUPT_PENDING 0x01
352 #define Timer_A_setDutyCycle(timer,dutyCycle) \
353 Timer_A_setCompareValue(timer,dutyCycle)
738 uint_fast16_t captureCompareRegister,
739 uint_fast16_t synchronizedSetting);
768 uint_fast16_t captureCompareRegister);
796 uint_fast16_t captureCompareRegister);
828 uint_fast16_t captureCompareRegister,
829 uint_fast8_t outputModeOutBitValue);
946 uint_fast16_t compareRegister, uint_fast16_t compareValue);
1012 uint_fast16_t captureCompareRegister);
1101 uint_fast16_t captureCompareRegister);
1119 uint_fast16_t captureCompareRegister);
1145 uint_fast16_t captureCompareRegister, uint_fast16_t mask);
1169 uint_fast16_t captureCompareRegister);
1203 uint_fast8_t interruptSelect,
void (*intHandler)(
void));
1234 uint_fast8_t interruptSelect);
1237 #define Timer_A_clearTimerInterrupt Timer_A_clearInterruptFlag
1238 #define Timer_A_clear Timer_A_clearTimer
1239 #define Timer_A_initCaptureMode Timer_A_initCapture
1240 #define Timer_A_initCompareMode Timer_A_initCompare
1241 #define Timer_A_initContinuousMode Timer_A_configureContinuousMode
1242 #define Timer_A_initUpDownMode Timer_A_configureUpDownMode
1243 #define Timer_A_initUpMode Timer_A_configureUpMode
1244 #define Timer_A_outputPWM Timer_A_generatePWM
1245 #define Timer_A_stop Timer_A_stopTimer
uint_fast16_t compareOutputMode
Definition: timer_a.h:159
void Timer_A_stopTimer(uint32_t timer)
Definition: timer_a.c:528
Type definition for _Timer_A_PWMConfig structure.
Definition: timer_a.h:153
uint_fast16_t timerClear
Definition: timer_a.h:74
uint_fast16_t clockSource
Definition: timer_a.h:91
void Timer_A_disableInterrupt(uint32_t timer)
Definition: timer_a.c:581
uint16_t Timer_A_getCounterValue(uint32_t timer)
Definition: timer_a.c:354
uint_fast8_t captureInterruptEnable
Definition: timer_a.h:117
uint_fast16_t clockSourceDivider
Definition: timer_a.h:156
uint_fast8_t Timer_A_getOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:413
uint_fast16_t timerClear
Definition: timer_a.h:96
void Timer_A_clearCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:554
uint32_t Timer_A_getCaptureCompareInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t mask)
Definition: timer_a.c:636
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:72
uint32_t Timer_A_getCaptureCompareEnabledInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:655
struct _Timer_A_ContinuousModeConfig Timer_A_ContinuousModeConfig
struct _Timer_A_CaptureModeConfig Timer_A_CaptureModeConfig
uint_fast16_t synchronizeCaptureSource
Definition: timer_a.h:116
uint_fast16_t clockSource
Definition: timer_a.h:69
uint_fast16_t compareRegister
Definition: timer_a.h:158
void Timer_A_initCompare(uint32_t timer, const Timer_A_CompareModeConfig *config)
Definition: timer_a.c:293
void Timer_A_configureUpDownMode(uint32_t timer, const Timer_A_UpDownModeConfig *config)
Definition: timer_a.c:174
Type definition for _Timer_A_UpDownModeConfig structure.
Definition: timer_a.h:89
uint_fast16_t timerPeriod
Definition: timer_a.h:71
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:668
struct _Timer_A_PWMConfig Timer_A_PWMConfig
void Timer_A_unregisterInterrupt(uint32_t timer, uint_fast8_t interruptSelect)
Definition: timer_a.c:723
uint_fast8_t Timer_A_getSynchronizedCaptureCompareInput(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t synchronizedSetting)
Definition: timer_a.c:383
uint_fast16_t captureOutputMode
Definition: timer_a.h:118
uint_fast16_t Timer_A_getCaptureCompareCount(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:438
uint_fast16_t timerPeriod
Definition: timer_a.h:157
uint_fast16_t clockSourceDivider
Definition: timer_a.h:50
uint_fast16_t compareInterruptEnable
Definition: timer_a.h:136
uint_fast16_t compareValue
Definition: timer_a.h:138
uint32_t Timer_A_getInterruptStatus(uint32_t timer)
Definition: timer_a.c:586
uint_fast16_t clockSourceDivider
Definition: timer_a.h:92
Type definition for _Timer_A_UpModeConfig structure.
Definition: timer_a.h:67
uint_fast16_t clockSourceDivider
Definition: timer_a.h:70
void Timer_A_startCounter(uint32_t timer, uint_fast16_t timerMode)
Definition: timer_a.c:59
uint_fast16_t dutyCycle
Definition: timer_a.h:160
uint_fast16_t clockSource
Definition: timer_a.h:49
void Timer_A_setOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast8_t outputModeOutBitValue)
Definition: timer_a.c:460
uint_fast16_t captureInputSelect
Definition: timer_a.h:115
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:94
struct _Timer_A_UpModeConfig Timer_A_UpModeConfig
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:52
void Timer_A_clearTimer(uint32_t timer)
Definition: timer_a.c:378
uint_fast16_t clockSource
Definition: timer_a.h:155
void Timer_A_setCompareValue(uint32_t timer, uint_fast16_t compareRegister, uint_fast16_t compareValue)
Definition: timer_a.c:533
Type definition for _Timer_A_CompareModeConfig structure.
Definition: timer_a.h:133
void Timer_A_generatePWM(uint32_t timer, const Timer_A_PWMConfig *config)
Definition: timer_a.c:471
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:51
uint_fast16_t compareRegister
Definition: timer_a.h:135
void Timer_A_enableInterrupt(uint32_t timer)
Definition: timer_a.c:576
struct _Timer_A_UpDownModeConfig Timer_A_UpDownModeConfig
Type definition for _Timer_A_ContinuousModeConfig structure.
Definition: timer_a.h:47
uint_fast16_t captureMode
Definition: timer_a.h:114
uint_fast16_t compareOutputMode
Definition: timer_a.h:137
uint_fast16_t captureRegister
Definition: timer_a.h:113
void Timer_A_disableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:613
Type definition for _Timer_A_CaptureModeConfig structure.
Definition: timer_a.h:111
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:95
void Timer_A_clearInterruptFlag(uint32_t timer)
Definition: timer_a.c:549
struct _Timer_A_CompareModeConfig Timer_A_CompareModeConfig
void Timer_A_enableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:591
uint32_t Timer_A_getEnabledInterruptStatus(uint32_t timer)
Definition: timer_a.c:643
uint_fast16_t timerPeriod
Definition: timer_a.h:93
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:73
void Timer_A_configureUpMode(uint32_t timer, const Timer_A_UpModeConfig *config)
Definition: timer_a.c:139