7 #ifndef __MSP430WARE_TIMER_B_H__ 8 #define __MSP430WARE_TIMER_B_H__ 10 #include "inc/hw_memmap.h" 12 #ifdef __MSP430_HAS_TxB7__ 25 #include "inc/hw_memmap.h" 33 #define TIMER_B_THRESHOLD 50 370 #define TIMER_B_CLOCKSOURCE_DIVIDER_1 0x00 371 #define TIMER_B_CLOCKSOURCE_DIVIDER_2 0x08 372 #define TIMER_B_CLOCKSOURCE_DIVIDER_3 0x02 373 #define TIMER_B_CLOCKSOURCE_DIVIDER_4 0x10 374 #define TIMER_B_CLOCKSOURCE_DIVIDER_5 0x04 375 #define TIMER_B_CLOCKSOURCE_DIVIDER_6 0x05 376 #define TIMER_B_CLOCKSOURCE_DIVIDER_7 0x06 377 #define TIMER_B_CLOCKSOURCE_DIVIDER_8 0x18 378 #define TIMER_B_CLOCKSOURCE_DIVIDER_10 0x0C 379 #define TIMER_B_CLOCKSOURCE_DIVIDER_12 0x0D 380 #define TIMER_B_CLOCKSOURCE_DIVIDER_14 0x0E 381 #define TIMER_B_CLOCKSOURCE_DIVIDER_16 0x0F 382 #define TIMER_B_CLOCKSOURCE_DIVIDER_20 0x14 383 #define TIMER_B_CLOCKSOURCE_DIVIDER_24 0x15 384 #define TIMER_B_CLOCKSOURCE_DIVIDER_28 0x16 385 #define TIMER_B_CLOCKSOURCE_DIVIDER_32 0x17 386 #define TIMER_B_CLOCKSOURCE_DIVIDER_40 0x1C 387 #define TIMER_B_CLOCKSOURCE_DIVIDER_48 0x1D 388 #define TIMER_B_CLOCKSOURCE_DIVIDER_56 0x1E 389 #define TIMER_B_CLOCKSOURCE_DIVIDER_64 0x1F 397 #define TIMER_B_STOP_MODE MC_0 398 #define TIMER_B_UP_MODE MC_1 399 #define TIMER_B_CONTINUOUS_MODE MC_2 400 #define TIMER_B_UPDOWN_MODE MC_3 409 #define TIMER_B_DO_CLEAR TBCLR 410 #define TIMER_B_SKIP_CLEAR 0x00 419 #define TIMER_B_CLOCKSOURCE_EXTERNAL_TXCLK TBSSEL__TACLK 420 #define TIMER_B_CLOCKSOURCE_ACLK TBSSEL__ACLK 421 #define TIMER_B_CLOCKSOURCE_SMCLK TBSSEL__SMCLK 422 #define TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TBSSEL__INCLK 431 #define TIMER_B_TBIE_INTERRUPT_ENABLE TBIE 432 #define TIMER_B_TBIE_INTERRUPT_DISABLE 0x00 440 #define TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE CCIE 441 #define TIMER_B_CCIE_CCR0_INTERRUPT_DISABLE 0x00 449 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00 450 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE 458 #define TIMER_B_CAPTURE_INPUTSELECT_CCIxA CCIS_0 459 #define TIMER_B_CAPTURE_INPUTSELECT_CCIxB CCIS_1 460 #define TIMER_B_CAPTURE_INPUTSELECT_GND CCIS_2 461 #define TIMER_B_CAPTURE_INPUTSELECT_Vcc CCIS_3 471 #define TIMER_B_OUTPUTMODE_OUTBITVALUE OUTMOD_0 472 #define TIMER_B_OUTPUTMODE_SET OUTMOD_1 473 #define TIMER_B_OUTPUTMODE_TOGGLE_RESET OUTMOD_2 474 #define TIMER_B_OUTPUTMODE_SET_RESET OUTMOD_3 475 #define TIMER_B_OUTPUTMODE_TOGGLE OUTMOD_4 476 #define TIMER_B_OUTPUTMODE_RESET OUTMOD_5 477 #define TIMER_B_OUTPUTMODE_TOGGLE_SET OUTMOD_6 478 #define TIMER_B_OUTPUTMODE_RESET_SET OUTMOD_7 498 #define TIMER_B_CAPTURECOMPARE_REGISTER_0 0x02 499 #define TIMER_B_CAPTURECOMPARE_REGISTER_1 0x04 500 #define TIMER_B_CAPTURECOMPARE_REGISTER_2 0x06 501 #define TIMER_B_CAPTURECOMPARE_REGISTER_3 0x08 502 #define TIMER_B_CAPTURECOMPARE_REGISTER_4 0x0A 503 #define TIMER_B_CAPTURECOMPARE_REGISTER_5 0x0C 504 #define TIMER_B_CAPTURECOMPARE_REGISTER_6 0x0E 512 #define TIMER_B_CAPTUREMODE_NO_CAPTURE CM_0 513 #define TIMER_B_CAPTUREMODE_RISING_EDGE CM_1 514 #define TIMER_B_CAPTUREMODE_FALLING_EDGE CM_2 515 #define TIMER_B_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3 523 #define TIMER_B_CAPTURE_ASYNCHRONOUS 0x00 524 #define TIMER_B_CAPTURE_SYNCHRONOUS SCS 533 #define TIMER_B_CAPTURE_OVERFLOW COV 534 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG 542 #define TIMER_B_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI 543 #define TIMER_B_READ_CAPTURE_COMPARE_INPUT CCI 552 #define TIMER_B_CAPTURECOMPARE_INPUT_HIGH 0x01 553 #define TIMER_B_CAPTURECOMPARE_INPUT_LOW 0x00 562 #define TIMER_B_OUTPUTMODE_OUTBITVALUE_HIGH OUT 563 #define TIMER_B_OUTPUTMODE_OUTBITVALUE_LOW 0x0000 571 #define TIMER_B_COUNTER_16BIT CNTL_0 572 #define TIMER_B_COUNTER_12BIT CNTL_1 573 #define TIMER_B_COUNTER_10BIT CNTL_2 574 #define TIMER_B_COUNTER_8BIT CNTL_3 582 #define TIMER_B_GROUP_NONE TBCLGRP_0 583 #define TIMER_B_GROUP_CL12_CL23_CL56 TBCLGRP_1 584 #define TIMER_B_GROUP_CL123_CL456 TBCLGRP_2 585 #define TIMER_B_GROUP_ALL TBCLGRP_3 593 #define TIMER_B_LATCH_ON_WRITE_TO_TBxCCRn_COMPARE_REGISTER CLLD_0 594 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UP_OR_CONT_MODE CLLD_1 595 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UPDOWN_MODE CLLD_2 596 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_CURRENT_COMPARE_LATCH_VALUE CLLD_3 604 #define TIMER_B_INTERRUPT_NOT_PENDING 0x00 605 #define TIMER_B_INTERRUPT_PENDING 0x01 613 #define TIMER_B_OUTPUTHIGH_TRIGGER_INTERNALSOURCE 0x00 614 #define TIMER_B_OUTPUTHIGH_TRIGGER_EXTERNALSOURCE 0x01 622 #define TIMER_B_REMAP_PINS_1 0x00 623 #define TIMER_B_REMAP_PINS_2 0x01 805 uint16_t captureCompareRegister);
830 uint16_t captureCompareRegister);
860 uint16_t captureCompareRegister,
903 uint16_t captureCompareRegister,
904 uint16_t
synchronized);
929 uint16_t captureCompareRegister);
952 uint16_t captureCompareRegister);
981 uint16_t captureCompareRegister,
982 uint16_t outputModeOutBitValue);
1037 uint16_t compareValue);
1075 uint16_t captureCompareRegister);
1095 uint16_t counterLength);
1115 uint16_t groupLatch);
1147 uint16_t compareLatchLoadEvent);
1218 uint8_t triggerSelect);
1240 uint8_t pinsSelect);
1252 #endif // __MSP430WARE_TIMER_B_H__ bool startTimer
Whether to start the timer immediately.
Definition: timer_b.h:155
void Timer_B_selectCounterLength(uint16_t baseAddress, uint16_t counterLength)
Selects Timer_B counter length.
Definition: timer_b.c:304
Used in the Timer_B_initContinuousMode() function as the param parameter.
Definition: timer_b.h:219
uint16_t clockSourceDivider
Definition: timer_b.h:134
void Timer_B_initContinuousMode(uint16_t baseAddress, Timer_B_initContinuousModeParam *param)
Configures Timer_B in continuous mode.
Definition: timer_b.c:28
void Timer_B_initUpDownMode(uint16_t baseAddress, Timer_B_initUpDownModeParam *param)
Configures Timer_B in up down mode.
Definition: timer_b.c:88
uint16_t timerInterruptEnable_TBIE
Definition: timer_b.h:142
uint16_t clockSource
Definition: timer_b.h:111
void Timer_B_initCompareLatchLoadEvent(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareLatchLoadEvent)
Selects Compare Latch Load Event.
Definition: timer_b.c:319
uint8_t Timer_B_getOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister)
Get output bit for output mode.
Definition: timer_b.c:219
uint16_t Timer_B_getCaptureCompareCount(uint16_t baseAddress, uint16_t captureCompareRegister)
Get current capturecompare count.
Definition: timer_b.c:232
void Timer_B_initCaptureMode(uint16_t baseAddress, Timer_B_initCaptureModeParam *param)
Initializes Capture Mode.
Definition: timer_b.c:122
void Timer_B_initCompareMode(uint16_t baseAddress, Timer_B_initCompareModeParam *param)
Initializes Compare Mode.
Definition: timer_b.c:145
uint16_t timerInterruptEnable_TBIE
Definition: timer_b.h:254
uint32_t Timer_B_getCaptureCompareInterruptStatus(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t mask)
Return capture compare interrupt status.
Definition: timer_b.c:192
Used in the Timer_B_initCaptureMode() function as the param parameter.
Definition: timer_b.h:164
uint16_t clockSource
Definition: timer_b.h:226
uint16_t timerPeriod
Selects the desired Timer_B period.
Definition: timer_b.h:72
void Timer_B_clearCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Clears the capture-compare interrupt flag.
Definition: timer_b.c:297
Used in the Timer_B_initUpDownMode() function as the param parameter.
Definition: timer_b.h:271
uint16_t compareOutputMode
Definition: timer_b.h:357
void Timer_B_remapPins(uint16_t baseAddress, uint8_t pinsSelect)
Remaps Timer_B GPIO pins.
Definition: timer_b.c:377
uint16_t captureMode
Definition: timer_b.h:182
uint16_t timerClear
Definition: timer_b.h:319
uint16_t timerPeriod
Is the specified Timer_B period.
Definition: timer_b.h:303
void Timer_B_setOutputMode(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareOutputMode)
Sets the output mode.
Definition: timer_b.c:352
void Timer_B_stop(uint16_t baseAddress)
Stops the Timer_B.
Definition: timer_b.c:278
void Timer_B_enableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Enable capture compare interrupt.
Definition: timer_b.c:178
uint16_t compareRegister
Definition: timer_b.h:83
uint16_t synchronizeCaptureSource
Definition: timer_b.h:194
uint16_t dutyCycle
Specifies the dutycycle for the generated waveform.
Definition: timer_b.h:96
void Timer_B_outputPWM(uint16_t baseAddress, Timer_B_outputPWMParam *param)
Generate a PWM with Timer_B running in up mode.
Definition: timer_b.c:249
uint16_t clockSourceDivider
Definition: timer_b.h:249
void Timer_B_setCompareValue(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareValue)
Sets the value of the capture-compare register.
Definition: timer_b.c:284
uint16_t captureInterruptEnable
Definition: timer_b.h:199
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_b.h:313
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_b.h:147
bool startTimer
Whether to start the timer immediately.
Definition: timer_b.h:321
uint16_t compareValue
Is the count to be compared with in compare mode.
Definition: timer_b.h:359
void Timer_B_clear(uint16_t baseAddress)
Reset/Clear the Timer_B clock divider, count direction, count.
Definition: timer_b.c:200
uint16_t captureRegister
Definition: timer_b.h:175
uint16_t compareInterruptEnable
Definition: timer_b.h:346
Used in the Timer_B_initUpMode() function as the param parameter.
Definition: timer_b.h:104
uint32_t Timer_B_getInterruptStatus(uint16_t baseAddress)
Get Timer_B interrupt status.
Definition: timer_b.c:173
uint16_t timerPeriod
Definition: timer_b.h:137
uint16_t clockSource
Definition: timer_b.h:278
void Timer_B_selectLatchingGroup(uint16_t baseAddress, uint16_t groupLatch)
Selects Timer_B Latching Group.
Definition: timer_b.c:312
uint16_t Timer_B_getCounterValue(uint16_t baseAddress)
Reads the current timer count value.
Definition: timer_b.c:328
void Timer_B_disableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Disable capture compare interrupt.
Definition: timer_b.c:185
uint16_t compareOutputMode
Definition: timer_b.h:94
void Timer_B_startCounter(uint16_t baseAddress, uint16_t timerMode)
Starts Timer_B counter.
Definition: timer_b.c:21
void Timer_B_setOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t outputModeOutBitValue)
Set output bit for output mode.
Definition: timer_b.c:240
Used in the Timer_B_outputPWM() function as the param parameter.
Definition: timer_b.h:40
uint16_t clockSource
Definition: timer_b.h:47
uint16_t captureInputSelect
Definition: timer_b.h:189
void Timer_B_selectOutputHighImpedanceTrigger(uint16_t baseAddress, uint8_t triggerSelect)
Selects the trigger source to output high impedance.
Definition: timer_b.c:360
uint16_t compareRegister
Definition: timer_b.h:341
uint16_t timerClear
Definition: timer_b.h:153
void Timer_B_initUpMode(uint16_t baseAddress, Timer_B_initUpModeParam *param)
Configures Timer_B in up mode.
Definition: timer_b.c:54
uint16_t captureOutputMode
Definition: timer_b.h:210
uint16_t timerClear
Definition: timer_b.h:260
bool startTimer
Whether to start the timer immediately.
Definition: timer_b.h:262
void Timer_B_disableInterrupt(uint16_t baseAddress)
Disable Timer_B interrupt.
Definition: timer_b.c:168
Used in the Timer_B_initCompareMode() function as the param parameter.
Definition: timer_b.h:330
uint16_t clockSourceDivider
Definition: timer_b.h:301
uint16_t clockSourceDivider
Definition: timer_b.h:70
uint16_t timerInterruptEnable_TBIE
Definition: timer_b.h:308
void Timer_B_clearTimerInterrupt(uint16_t baseAddress)
Clears the Timer_B TBIFG interrupt flag.
Definition: timer_b.c:292
uint8_t Timer_B_getSynchronizedCaptureCompareInput(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t synchronized)
Get synchronized capturecompare input.
Definition: timer_b.c:206
void Timer_B_enableInterrupt(uint16_t baseAddress)
Enable Timer_B interrupt.
Definition: timer_b.c:163