7 #ifndef __MSP430WARE_TIMER_A_H__ 8 #define __MSP430WARE_TIMER_A_H__ 10 #include "inc/hw_memmap.h" 12 #ifdef __MSP430_HAS_TxA3__ 25 #include "inc/hw_memmap.h" 33 #define TIMER_A_THRESHOLD 50 294 #define TIMER_A_CLOCKSOURCE_DIVIDER_1 0x00 295 #define TIMER_A_CLOCKSOURCE_DIVIDER_2 0x08 296 #define TIMER_A_CLOCKSOURCE_DIVIDER_4 0x10 297 #define TIMER_A_CLOCKSOURCE_DIVIDER_8 0x18 305 #define TIMER_A_STOP_MODE MC_0 306 #define TIMER_A_UP_MODE MC_1 307 #define TIMER_A_CONTINUOUS_MODE MC_2 308 #define TIMER_A_UPDOWN_MODE MC_3 317 #define TIMER_A_DO_CLEAR TACLR 318 #define TIMER_A_SKIP_CLEAR 0x00 327 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK TASSEL__TACLK 328 #define TIMER_A_CLOCKSOURCE_ACLK TASSEL__ACLK 329 #define TIMER_A_CLOCKSOURCE_SMCLK TASSEL__SMCLK 330 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TASSEL__INCLK 339 #define TIMER_A_TAIE_INTERRUPT_ENABLE TAIE 340 #define TIMER_A_TAIE_INTERRUPT_DISABLE 0x00 348 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE CCIE 349 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE 0x00 357 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00 358 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE 366 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA CCIS_0 367 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB CCIS_1 368 #define TIMER_A_CAPTURE_INPUTSELECT_GND CCIS_2 369 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc CCIS_3 379 #define TIMER_A_OUTPUTMODE_OUTBITVALUE OUTMOD_0 380 #define TIMER_A_OUTPUTMODE_SET OUTMOD_1 381 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET OUTMOD_2 382 #define TIMER_A_OUTPUTMODE_SET_RESET OUTMOD_3 383 #define TIMER_A_OUTPUTMODE_TOGGLE OUTMOD_4 384 #define TIMER_A_OUTPUTMODE_RESET OUTMOD_5 385 #define TIMER_A_OUTPUTMODE_TOGGLE_SET OUTMOD_6 386 #define TIMER_A_OUTPUTMODE_RESET_SET OUTMOD_7 405 #define TIMER_A_CAPTURECOMPARE_REGISTER_0 0x02 406 #define TIMER_A_CAPTURECOMPARE_REGISTER_1 0x04 407 #define TIMER_A_CAPTURECOMPARE_REGISTER_2 0x06 415 #define TIMER_A_CAPTUREMODE_NO_CAPTURE CM_0 416 #define TIMER_A_CAPTUREMODE_RISING_EDGE CM_1 417 #define TIMER_A_CAPTUREMODE_FALLING_EDGE CM_2 418 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3 426 #define TIMER_A_CAPTURE_ASYNCHRONOUS 0x00 427 #define TIMER_A_CAPTURE_SYNCHRONOUS SCS 436 #define TIMER_A_CAPTURE_OVERFLOW COV 437 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG 445 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI 446 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT CCI 455 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH 0x01 456 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW 0x00 465 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH OUT 466 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW 0x00 474 #define TIMER_A_INTERRUPT_NOT_PENDING 0x00 475 #define TIMER_A_INTERRUPT_PENDING 0x01 644 uint16_t captureCompareRegister);
663 uint16_t captureCompareRegister);
687 uint16_t captureCompareRegister,
724 uint16_t captureCompareRegister,
725 uint16_t
synchronized);
744 uint16_t captureCompareRegister);
761 uint16_t captureCompareRegister);
784 uint16_t captureCompareRegister,
785 uint8_t outputModeOutBitValue);
836 uint16_t compareRegister,
837 uint16_t compareValue);
868 uint16_t compareRegister,
869 uint16_t compareOutputMode);
902 uint16_t captureCompareRegister);
930 #endif // __MSP430WARE_TIMER_A_H__ void Timer_A_initContinuousMode(uint16_t baseAddress, Timer_A_initContinuousModeParam *param)
Configures Timer_A in continuous mode.
Definition: timer_a.c:29
uint16_t captureOutputMode
Definition: timer_a.h:119
uint16_t timerClear
Definition: timer_a.h:66
uint16_t synchronizeCaptureSource
Definition: timer_a.h:103
bool startTimer
Whether to start the timer immediately.
Definition: timer_a.h:68
void Timer_A_disableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Disable capture compare interrupt.
Definition: timer_a.c:170
uint16_t captureRegister
Definition: timer_a.h:84
void Timer_A_startCounter(uint16_t baseAddress, uint16_t timerMode)
Starts Timer_A counter.
Definition: timer_a.c:21
uint16_t clockSourceDivider
Definition: timer_a.h:184
void Timer_A_stop(uint16_t baseAddress)
Stops the timer.
Definition: timer_a.c:258
void Timer_A_clearCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Clears the capture-compare interrupt flag.
Definition: timer_a.c:283
uint16_t compareOutputMode
Definition: timer_a.h:204
uint16_t timerClear
Definition: timer_a.h:247
uint16_t timerPeriod
Is the specified Timer_A period.
Definition: timer_a.h:144
void Timer_A_enableInterrupt(uint16_t baseAddress)
Enable timer interrupt.
Definition: timer_a.c:148
void Timer_A_clearTimerInterrupt(uint16_t baseAddress)
Clears the Timer TAIFG interrupt flag.
Definition: timer_a.c:278
uint16_t Timer_A_getCaptureCompareCount(uint16_t baseAddress, uint16_t captureCompareRegister)
Get current capturecompare count.
Definition: timer_a.c:216
Used in the Timer_A_initUpDownMode() function as the param parameter.
Definition: timer_a.h:128
uint16_t clockSource
Definition: timer_a.h:48
uint8_t Timer_A_getSynchronizedCaptureCompareInput(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t synchronized)
Get synchronized capturecompare input.
Definition: timer_a.c:191
uint16_t compareOutputMode
Definition: timer_a.h:281
uint16_t timerInterruptEnable_TAIE
Definition: timer_a.h:149
void Timer_A_initCompareMode(uint16_t baseAddress, Timer_A_initCompareModeParam *param)
Initializes Compare Mode.
Definition: timer_a.c:131
uint16_t dutyCycle
Specifies the dutycycle for the generated waveform.
Definition: timer_a.h:206
bool startTimer
Whether to start the timer immediately.
Definition: timer_a.h:249
uint16_t timerClear
Definition: timer_a.h:160
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:154
uint16_t compareInterruptEnable
Definition: timer_a.h:270
uint16_t timerPeriod
Definition: timer_a.h:231
void Timer_A_setOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister, uint8_t outputModeOutBitValue)
Set output bit for output mode.
Definition: timer_a.c:224
uint16_t clockSourceDivider
Definition: timer_a.h:228
Used in the Timer_A_initCaptureMode() function as the param parameter.
Definition: timer_a.h:77
Used in the Timer_A_initUpMode() function as the param parameter.
Definition: timer_a.h:214
Used in the Timer_A_initCompareMode() function as the param parameter.
Definition: timer_a.h:258
void Timer_A_enableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Enable capture compare interrupt.
Definition: timer_a.c:163
uint16_t captureMode
Definition: timer_a.h:91
void Timer_A_disableInterrupt(uint16_t baseAddress)
Disable timer interrupt.
Definition: timer_a.c:153
void Timer_A_initUpDownMode(uint16_t baseAddress, Timer_A_initUpDownModeParam *param)
Configures Timer_A in up down mode.
Definition: timer_a.c:80
uint16_t clockSource
Definition: timer_a.h:177
uint16_t compareValue
Is the count to be compared with in compare mode.
Definition: timer_a.h:283
uint16_t captureInputSelect
Definition: timer_a.h:98
void Timer_A_setCompareValue(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareValue)
Sets the value of the capture-compare register.
Definition: timer_a.c:263
void Timer_A_initCaptureMode(uint16_t baseAddress, Timer_A_initCaptureModeParam *param)
Initializes Capture Mode.
Definition: timer_a.c:109
uint16_t Timer_A_getCounterValue(uint16_t baseAddress)
Reads the current timer count value.
Definition: timer_a.c:290
uint32_t Timer_A_getInterruptStatus(uint16_t baseAddress)
Get timer interrupt status.
Definition: timer_a.c:158
Used in the Timer_A_outputPWM() function as the param parameter.
Definition: timer_a.h:170
void Timer_A_outputPWM(uint16_t baseAddress, Timer_A_outputPWMParam *param)
Generate a PWM with timer running in up mode.
Definition: timer_a.c:234
uint16_t compareRegister
Definition: timer_a.h:265
uint16_t timerInterruptEnable_TAIE
Definition: timer_a.h:236
void Timer_A_initUpMode(uint16_t baseAddress, Timer_A_initUpModeParam *param)
Configures Timer_A in up mode.
Definition: timer_a.c:50
bool startTimer
Whether to start the timer immediately.
Definition: timer_a.h:162
uint16_t clockSourceDivider
Definition: timer_a.h:55
uint32_t Timer_A_getCaptureCompareInterruptStatus(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t mask)
Return capture compare interrupt status.
Definition: timer_a.c:177
uint16_t clockSource
Definition: timer_a.h:135
uint8_t Timer_A_getOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister)
Get output bit for output mode.
Definition: timer_a.c:204
uint16_t clockSourceDivider
Definition: timer_a.h:142
Used in the Timer_A_initContinuousMode() function as the param parameter.
Definition: timer_a.h:41
void Timer_A_setOutputMode(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareOutputMode)
Sets the output mode.
Definition: timer_a.c:271
uint16_t compareRegister
Definition: timer_a.h:193
void Timer_A_clear(uint16_t baseAddress)
Reset/Clear the timer clock divider, count direction, count.
Definition: timer_a.c:185
uint16_t captureInterruptEnable
Definition: timer_a.h:108
uint16_t timerPeriod
Selects the desired timer period.
Definition: timer_a.h:186
uint16_t timerInterruptEnable_TAIE
Definition: timer_a.h:60
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:241
uint16_t clockSource
Definition: timer_a.h:221