7 #ifndef __MSP430WARE_TIMER_D_H__ 8 #define __MSP430WARE_TIMER_D_H__ 10 #include "inc/hw_memmap.h" 12 #ifdef __MSP430_HAS_TxD7__ 25 #include "inc/hw_memmap.h" 33 #define TIMER_D_THRESHOLD 50 518 #define TIMER_D_CLOCKSOURCE_DIVIDER_1 0x00 519 #define TIMER_D_CLOCKSOURCE_DIVIDER_2 0x08 520 #define TIMER_D_CLOCKSOURCE_DIVIDER_3 0x02 521 #define TIMER_D_CLOCKSOURCE_DIVIDER_4 0x10 522 #define TIMER_D_CLOCKSOURCE_DIVIDER_5 0x04 523 #define TIMER_D_CLOCKSOURCE_DIVIDER_6 0x05 524 #define TIMER_D_CLOCKSOURCE_DIVIDER_7 0x06 525 #define TIMER_D_CLOCKSOURCE_DIVIDER_8 0x18 526 #define TIMER_D_CLOCKSOURCE_DIVIDER_10 0x0C 527 #define TIMER_D_CLOCKSOURCE_DIVIDER_12 0x0D 528 #define TIMER_D_CLOCKSOURCE_DIVIDER_14 0x0E 529 #define TIMER_D_CLOCKSOURCE_DIVIDER_16 0x0F 530 #define TIMER_D_CLOCKSOURCE_DIVIDER_20 0x14 531 #define TIMER_D_CLOCKSOURCE_DIVIDER_24 0x15 532 #define TIMER_D_CLOCKSOURCE_DIVIDER_28 0x16 533 #define TIMER_D_CLOCKSOURCE_DIVIDER_32 0x17 534 #define TIMER_D_CLOCKSOURCE_DIVIDER_40 0x1C 535 #define TIMER_D_CLOCKSOURCE_DIVIDER_48 0x1D 536 #define TIMER_D_CLOCKSOURCE_DIVIDER_56 0x1E 537 #define TIMER_D_CLOCKSOURCE_DIVIDER_64 0x1F 545 #define TIMER_D_STOP_MODE MC_0 546 #define TIMER_D_UP_MODE MC_1 547 #define TIMER_D_CONTINUOUS_MODE MC_2 548 #define TIMER_D_UPDOWN_MODE MC_3 557 #define TIMER_D_DO_CLEAR TDCLR 558 #define TIMER_D_SKIP_CLEAR 0x00 569 #define TIMER_D_CLOCKSOURCE_EXTERNAL_TDCLK TDSSEL__TACLK 570 #define TIMER_D_CLOCKSOURCE_ACLK TDSSEL__ACLK 571 #define TIMER_D_CLOCKSOURCE_SMCLK TDSSEL__SMCLK 572 #define TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK TDSSEL__INCLK 583 #define TIMER_D_CLOCKINGMODE_EXTERNAL_CLOCK TDCLKM_0 584 #define TIMER_D_CLOCKINGMODE_HIRES_LOCAL_CLOCK TDCLKM_1 585 #define TIMER_D_CLOCKINGMODE_AUXILIARY_CLK TDCLKM_2 594 #define TIMER_D_TDIE_INTERRUPT_ENABLE TDIE 595 #define TIMER_D_TDIE_INTERRUPT_DISABLE 0x00 603 #define TIMER_D_CAPTURE_INTERRUPT_ENABLE TDIE 604 #define TIMER_D_CAPTURE_INTERRUPT_DISABLE 0x00 612 #define TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE CCIE 613 #define TIMER_D_CCIE_CCR0_INTERRUPT_DISABLE 0x00 621 #define TIMER_D_SINGLE_CAPTURE_MODE 0x00 622 #define TIMER_D_DUAL_CAPTURE_MODE 0x01 630 #define TIMER_D_CAPTURE_INPUTSELECT_CCIxA CCIS_0 631 #define TIMER_D_CAPTURE_INPUTSELECT_CCIxB CCIS_1 632 #define TIMER_D_CAPTURE_INPUTSELECT_GND CCIS_2 633 #define TIMER_D_CAPTURE_INPUTSELECT_Vcc CCIS_3 643 #define TIMER_D_OUTPUTMODE_OUTBITVALUE OUTMOD_0 644 #define TIMER_D_OUTPUTMODE_SET OUTMOD_1 645 #define TIMER_D_OUTPUTMODE_TOGGLE_RESET OUTMOD_2 646 #define TIMER_D_OUTPUTMODE_SET_RESET OUTMOD_3 647 #define TIMER_D_OUTPUTMODE_TOGGLE OUTMOD_4 648 #define TIMER_D_OUTPUTMODE_RESET OUTMOD_5 649 #define TIMER_D_OUTPUTMODE_TOGGLE_SET OUTMOD_6 650 #define TIMER_D_OUTPUTMODE_RESET_SET OUTMOD_7 671 #define TIMER_D_CAPTURECOMPARE_REGISTER_0 0x08 672 #define TIMER_D_CAPTURECOMPARE_REGISTER_1 0x0E 673 #define TIMER_D_CAPTURECOMPARE_REGISTER_2 0x14 674 #define TIMER_D_CAPTURECOMPARE_REGISTER_3 0x1A 675 #define TIMER_D_CAPTURECOMPARE_REGISTER_4 0x20 676 #define TIMER_D_CAPTURECOMPARE_REGISTER_5 0x28 677 #define TIMER_D_CAPTURECOMPARE_REGISTER_6 0x2E 685 #define TIMER_D_CAPTUREMODE_NO_CAPTURE CM_0 686 #define TIMER_D_CAPTUREMODE_RISING_EDGE CM_1 687 #define TIMER_D_CAPTUREMODE_FALLING_EDGE CM_2 688 #define TIMER_D_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3 696 #define TIMER_D_CAPTURE_ASYNCHRONOUS 0x00 697 #define TIMER_D_CAPTURE_SYNCHRONOUS SCS 705 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE 706 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00 717 #define TIMER_D_HIGH_RES_FREQUENCY_UNLOCK TDHUNLKIE 718 #define TIMER_D_HIGH_RES_FREQUENCY_LOCK TDHLKIE 719 #define TIMER_D_HIGH_RES_FAIL_HIGH TDHFHIE 720 #define TIMER_D_HIGH_RES_FAIL_LOW TDHFLIE 729 #define TIMER_D_CAPTURE_OVERFLOW COV 730 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG 738 #define TIMER_D_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI 739 #define TIMER_D_READ_CAPTURE_COMPARE_INPUT CCI 748 #define TIMER_D_OUTPUTMODE_OUTBITVALUE_HIGH OUT 749 #define TIMER_D_OUTPUTMODE_OUTBITVALUE_LOW 0x00 757 #define TIMER_D_HIGHRES_64MHZ 0x00 758 #define TIMER_D_HIGHRES_128MHZ 0x01 759 #define TIMER_D_HIGHRES_200MHZ 0x02 760 #define TIMER_D_HIGHRES_256MHZ 0x03 768 #define TIMER_D_HIGHRES_CLK_DIVIDER_1 TDHD__1 769 #define TIMER_D_HIGHRES_CLK_DIVIDER_2 TDHD__2 770 #define TIMER_D_HIGHRES_CLK_DIVIDER_4 TDHD__4 771 #define TIMER_D_HIGHRES_CLK_DIVIDER_8 TDHD__8 779 #define TIMER_D_HIGHRES_CLK_MULTIPLY_FACTOR_8x TDHM_0 780 #define TIMER_D_HIGHRES_CLK_MULTIPLY_FACTOR_16x TDHM_1 788 #define TIMER_D_COMBINE_CCR1_CCR2 2 789 #define TIMER_D_COMBINE_CCR3_CCR4 4 790 #define TIMER_D_COMBINE_CCR5_CCR6 6 798 #define TIMER_D_GROUP_NONE TDCLGRP_0 799 #define TIMER_D_GROUP_CL12_CL23_CL56 TDCLGRP_1 800 #define TIMER_D_GROUP_CL123_CL456 TDCLGRP_2 801 #define TIMER_D_GROUP_ALL TDCLGRP_3 809 #define TIMER_D_COUNTER_16BIT CNTL_0 810 #define TIMER_D_COUNTER_12BIT CNTL_1 811 #define TIMER_D_COUNTER_10BIT CNTL_2 812 #define TIMER_D_COUNTER_8BIT CNTL_3 820 #define TIMER_D_LATCH_ON_WRITE_TO_TDxCCRn_COMPARE_REGISTER CLLD_0 821 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UP_OR_CONT_MODE CLLD_1 822 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UPDOWN_MODE CLLD_2 823 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_CURRENT_COMPARE_LATCH_VALUE CLLD_3 831 #define TIMER_D_HIGHRES_BELOW_15MHz 0x00 832 #define TIMER_D_HIGHRES_ABOVE_15MHz TDHCLKCR 840 #define TIMER_D_CLOCK_RANGE0 0x0000 841 #define TIMER_D_CLOCK_RANGE1 0x2000 842 #define TIMER_D_CLOCK_RANGE2 0x4000 851 #define TIMER_D_CAPTURECOMPARE_INPUT_HIGH 0x01 852 #define TIMER_D_CAPTURECOMPARE_INPUT_LOW 0x00 860 #define TIMER_D_INTERRUPT_NOT_PENDING 0x00 861 #define TIMER_D_INTERRUPT_PENDING 0x01 869 #define TIMER_D_CAPTURECOMPARE_INPUT CCI 1088 uint16_t captureCompareRegister);
1111 uint16_t captureCompareRegister);
1139 uint16_t captureCompareRegister,
1225 uint16_t captureCompareRegister,
1226 uint16_t
synchronized);
1249 uint16_t captureCompareRegister);
1270 uint16_t captureCompareRegister);
1291 uint16_t captureCompareRegister);
1315 uint16_t captureCompareRegister);
1342 uint16_t captureCompareRegister,
1343 uint8_t outputModeOutBitValue);
1397 uint16_t compareRegister,
1398 uint16_t compareValue);
1435 uint16_t captureCompareRegister);
1457 uint8_t desiredHighResFrequency);
1511 uint16_t groupLatch);
1531 uint16_t counterLength);
1561 uint16_t compareRegister,
1562 uint16_t compareLatchLoadEvent);
1664 uint16_t highResCoarseClockRange);
1682 uint16_t highResClockRange);
1733 uint16_t compareRegister,
1734 uint16_t compareOutputMode);
1746 #endif // __MSP430WARE_TIMER_D_H__ uint8_t highResClockMultiplyFactor
Definition: timer_d.h:238
uint16_t captureMode
Definition: timer_d.h:403
uint16_t timerPeriod
Is the specified timer period.
Definition: timer_d.h:292
void Timer_D_disableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Disable capture compare interrupt.
Definition: timer_d.c:191
uint16_t compareOutputMode
Definition: timer_d.h:130
uint16_t timerClear
Definition: timer_d.h:308
Used in the Timer_D_combineTDCCRToOutputPWM() function as the param parameter.
Definition: timer_d.h:317
uint16_t compareRegister
Definition: timer_d.h:114
void Timer_D_enableHighResFastWakeup(uint16_t baseAddress)
Enable High Resolution fast wakeup.
Definition: timer_d.c:472
uint16_t clockSourceDivider
Definition: timer_d.h:171
Used in the Timer_D_initHighResGeneratorInRegulatedMode() function as the param parameter.
Definition: timer_d.h:197
void Timer_D_clearHighResInterrupt(uint16_t baseAddress, uint16_t mask)
Clears High Resolution interrupt status.
Definition: timer_d.c:218
void Timer_D_outputPWM(uint16_t baseAddress, Timer_D_outputPWMParam *param)
Generate a PWM with timer running in up mode.
Definition: timer_d.c:284
uint16_t clockingMode
Definition: timer_d.h:480
uint16_t clockSource
Definition: timer_d.h:451
uint16_t captureRegister
Definition: timer_d.h:396
void Timer_D_enableHighResGeneratorForceON(uint16_t baseAddress)
Enable High Resolution Clock Enhanced Accuracy.
Definition: timer_d.c:492
uint16_t Timer_D_getHighResInterruptStatus(uint16_t baseAddress, uint16_t mask)
Returns High Resolution interrupt status.
Definition: timer_d.c:206
void Timer_D_selectHighResCoarseClockRange(uint16_t baseAddress, uint16_t highResCoarseClockRange)
Select High Resolution Coarse Clock Range.
Definition: timer_d.c:497
uint16_t Timer_D_getCaptureCompareLatchCount(uint16_t baseAddress, uint16_t captureCompareRegister)
Get current capture compare latch register count.
Definition: timer_d.c:259
uint8_t channelCaptureMode
Definition: timer_d.h:436
uint16_t captureInputSelect
Definition: timer_d.h:410
void Timer_D_enableTimerInterrupt(uint16_t baseAddress)
Enable timer interrupt.
Definition: timer_d.c:154
uint16_t timerInterruptEnable_TDIE
Definition: timer_d.h:297
uint16_t compareOutputMode
Definition: timer_d.h:503
void Timer_D_initCompareLatchLoadEvent(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareLatchLoadEvent)
Selects Compare Latch Load Event.
Definition: timer_d.c:457
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_d.h:302
void Timer_D_initUpDownMode(uint16_t baseAddress, Timer_D_initUpDownModeParam *param)
Configures timer in up down mode.
Definition: timer_d.c:80
uint16_t dutyCycle2
Specifies the dutycycle for the generated waveform.
Definition: timer_d.h:376
Used in the Timer_D_initCaptureMode() function as the param parameter.
Definition: timer_d.h:385
void Timer_D_setCompareValue(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareValue)
Sets the value of the capture-compare register.
Definition: timer_d.c:319
uint16_t clockSource
Definition: timer_d.h:148
void Timer_D_initCompareMode(uint16_t baseAddress, Timer_D_initCompareModeParam *param)
Initializes Compare Mode.
Definition: timer_d.c:137
Used in the Timer_D_initCompareMode() function as the param parameter.
Definition: timer_d.h:104
void Timer_D_clearTimerInterrupt(uint16_t baseAddress)
Clears the Timer TDIFG interrupt flag.
Definition: timer_d.c:327
uint16_t clockingMode
Definition: timer_d.h:177
uint16_t compareInterruptEnable
Definition: timer_d.h:119
uint32_t Timer_D_getTimerInterruptStatus(uint16_t baseAddress)
Get timer interrupt status.
Definition: timer_d.c:178
uint16_t clockSourceDivider
Definition: timer_d.h:227
void Timer_D_selectCounterLength(uint16_t baseAddress, uint16_t counterLength)
Selects Timer_D counter length.
Definition: timer_d.c:448
uint16_t clockSourceDivider
Definition: timer_d.h:284
void Timer_D_startCounter(uint16_t baseAddress, uint16_t timerMode)
Starts Timer_D counter.
Definition: timer_d.c:22
uint16_t clockSourceDivider
Definition: timer_d.h:474
Used in the Timer_D_initUpMode() function as the param parameter.
Definition: timer_d.h:40
void Timer_D_selectHighResClockRange(uint16_t baseAddress, uint16_t highResClockRange)
Select High Resolution Clock Range Selection.
Definition: timer_d.c:505
void Timer_D_initContinuousMode(uint16_t baseAddress, Timer_D_initContinuousModeParam *param)
Configures timer in continuous mode.
Definition: timer_d.c:29
uint16_t Timer_D_getCounterValue(uint16_t baseAddress)
Reads the current timer count value.
Definition: timer_d.c:513
uint16_t clockSourceDivider
Definition: timer_d.h:70
uint16_t compareOutputMode
Definition: timer_d.h:372
uint16_t compareValue
Is the count to be compared with in compare mode.
Definition: timer_d.h:132
uint16_t captureOutputMode
Definition: timer_d.h:431
uint16_t clockSource
Definition: timer_d.h:261
Used in the Timer_D_initUpDownMode() function as the param parameter.
Definition: timer_d.h:254
uint16_t dutyCycle1
Specifies the dutycycle for the generated waveform.
Definition: timer_d.h:374
void Timer_D_combineTDCCRToOutputPWM(uint16_t baseAddress, Timer_D_combineTDCCRToOutputPWMParam *param)
Combine TDCCR to get PWM.
Definition: timer_d.c:416
void Timer_D_initHighResGeneratorInRegulatedMode(uint16_t baseAddress, Timer_D_initHighResGeneratorInRegulatedModeParam *param)
Configures Timer_D in Regulated mode.
Definition: timer_d.c:396
void Timer_D_enableHighResInterrupt(uint16_t baseAddress, uint16_t mask)
Enable High Resolution interrupt.
Definition: timer_d.c:160
uint16_t timerInterruptEnable_TDIE
Definition: timer_d.h:182
uint16_t dutyCycle
Specifies the dutycycle for the generated waveform.
Definition: timer_d.h:505
void Timer_D_setOutputMode(uint16_t baseAddress, uint16_t compareRegister, uint16_t compareOutputMode)
Sets the output mode.
Definition: timer_d.c:537
uint16_t clockSourceDivider
Definition: timer_d.h:347
uint16_t synchronizeCaptureSource
Definition: timer_d.h:415
uint8_t Timer_D_getSynchronizedCaptureCompareInput(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t synchronized)
Get synchronized capturecompare input.
Definition: timer_d.c:226
void Timer_D_disableHighResClockEnhancedAccuracy(uint16_t baseAddress)
Disable High Resolution Clock Enhanced Accuracy.
Definition: timer_d.c:477
void Timer_D_setOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister, uint8_t outputModeOutBitValue)
Set output bit for output mode.
Definition: timer_d.c:275
void Timer_D_disableHighResInterrupt(uint16_t baseAddress, uint16_t mask)
Disable High Resolution interrupt.
Definition: timer_d.c:172
uint16_t clockingMode
Definition: timer_d.h:76
uint16_t timerClear
Definition: timer_d.h:95
uint16_t clockingMode
Definition: timer_d.h:290
uint16_t clockingMode
Definition: timer_d.h:353
Used in the Timer_D_outputPWM() function as the param parameter.
Definition: timer_d.h:444
uint32_t Timer_D_getCaptureCompareInterruptStatus(uint16_t baseAddress, uint16_t captureCompareRegister, uint16_t mask)
Return capture compare interrupt status.
Definition: timer_d.c:198
uint16_t clockSource
Definition: timer_d.h:204
void Timer_D_enableCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Enable capture compare interrupt.
Definition: timer_d.c:183
void Timer_D_enableHighResClockEnhancedAccuracy(uint16_t baseAddress)
Enable High Resolution Clock Enhanced Accuracy.
Definition: timer_d.c:482
uint16_t timerPeriod
Is the specified timer period.
Definition: timer_d.h:355
Used in the Timer_D_initContinuousMode() function as the param parameter.
Definition: timer_d.h:141
uint16_t timerPeriod
Definition: timer_d.h:79
uint16_t timerInterruptEnable_TDIE
Definition: timer_d.h:84
uint16_t clockingMode
Definition: timer_d.h:233
void Timer_D_initCaptureMode(uint16_t baseAddress, Timer_D_initCaptureModeParam *param)
Initializes Capture Mode.
Definition: timer_d.c:111
uint16_t compareRegister
Definition: timer_d.h:492
uint16_t Timer_D_getCaptureCompareCount(uint16_t baseAddress, uint16_t captureCompareRegister)
Get current capturecompare count.
Definition: timer_d.c:251
uint16_t clockSource
Definition: timer_d.h:47
uint8_t Timer_D_initHighResGeneratorInFreeRunningMode(uint16_t baseAddress, uint8_t desiredHighResFrequency)
Configures Timer_D in free running mode.
Definition: timer_d.c:340
void Timer_D_stop(uint16_t baseAddress)
Stops the timer.
Definition: timer_d.c:314
void Timer_D_selectLatchingGroup(uint16_t baseAddress, uint16_t groupLatch)
Selects Timer_D Latching Group.
Definition: timer_d.c:440
uint16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_d.h:89
void Timer_D_clear(uint16_t baseAddress)
Reset/Clear the timer clock divider, count direction, count.
Definition: timer_d.c:213
uint16_t timerClear
Definition: timer_d.h:188
void Timer_D_disableTimerInterrupt(uint16_t baseAddress)
Disable timer interrupt.
Definition: timer_d.c:167
void Timer_D_initUpMode(uint16_t baseAddress, Timer_D_initUpModeParam *param)
Configures timer in up mode.
Definition: timer_d.c:50
void Timer_D_clearCaptureCompareInterrupt(uint16_t baseAddress, uint16_t captureCompareRegister)
Clears the capture-compare interrupt flag.
Definition: timer_d.c:332
uint8_t Timer_D_getCaptureCompareInputSignal(uint16_t baseAddress, uint16_t captureCompareRegister)
Get current capturecompare input signal.
Definition: timer_d.c:267
uint16_t captureInterruptEnable
Definition: timer_d.h:420
uint8_t Timer_D_getOutputForOutputModeOutBitValue(uint16_t baseAddress, uint16_t captureCompareRegister)
Get output bit for output mode.
Definition: timer_d.c:239
void Timer_D_disableHighResFastWakeup(uint16_t baseAddress)
Disable High Resolution fast wakeup.
Definition: timer_d.c:467
uint8_t highResClockDivider
Definition: timer_d.h:245
uint16_t timerPeriod
Is the specified timer period.
Definition: timer_d.h:482
void Timer_D_disableHighResGeneratorForceON(uint16_t baseAddress)
Disable High Resolution Clock Enhanced Accuracy.
Definition: timer_d.c:487
uint16_t clockSource
Definition: timer_d.h:324
uint16_t combineCCRRegistersCombination
Definition: timer_d.h:361