53 #include <ti/devices/msp432p4xx/inc/msp.h> 
   61 #define TIMER_A_CMSIS(x) ((Timer_A_Type *) x) 
   63 #define TIMER_A_CCR0_INTERRUPT              0x00 
   64 #define TIMER_A_CCRX_AND_OVERFLOW_INTERRUPT 0x01 
  201 #define TIMER_A_THRESHOLD                                                     50 
  209 #define TIMER_A_CLOCKSOURCE_DIVIDER_1                                      0x01 
  210 #define TIMER_A_CLOCKSOURCE_DIVIDER_2                                      0x02 
  211 #define TIMER_A_CLOCKSOURCE_DIVIDER_4                                      0x04 
  212 #define TIMER_A_CLOCKSOURCE_DIVIDER_8                                      0x08 
  213 #define TIMER_A_CLOCKSOURCE_DIVIDER_3                                      0x03 
  214 #define TIMER_A_CLOCKSOURCE_DIVIDER_5                                      0x05 
  215 #define TIMER_A_CLOCKSOURCE_DIVIDER_6                                      0x06 
  216 #define TIMER_A_CLOCKSOURCE_DIVIDER_7                                      0x07 
  217 #define TIMER_A_CLOCKSOURCE_DIVIDER_10                                     0x0A 
  218 #define TIMER_A_CLOCKSOURCE_DIVIDER_12                                     0x0C 
  219 #define TIMER_A_CLOCKSOURCE_DIVIDER_14                                     0x0E 
  220 #define TIMER_A_CLOCKSOURCE_DIVIDER_16                                     0x10 
  221 #define TIMER_A_CLOCKSOURCE_DIVIDER_20                                     0x14 
  222 #define TIMER_A_CLOCKSOURCE_DIVIDER_24                                     0x18 
  223 #define TIMER_A_CLOCKSOURCE_DIVIDER_28                                     0x1C 
  224 #define TIMER_A_CLOCKSOURCE_DIVIDER_32                                     0x20 
  225 #define TIMER_A_CLOCKSOURCE_DIVIDER_40                                     0x28 
  226 #define TIMER_A_CLOCKSOURCE_DIVIDER_48                                     0x30 
  227 #define TIMER_A_CLOCKSOURCE_DIVIDER_56                                     0x38 
  228 #define TIMER_A_CLOCKSOURCE_DIVIDER_64                                     0x40 
  235 #define TIMER_A_STOP_MODE                                                  TIMER_A_CTL_MC_0 
  236 #define TIMER_A_UP_MODE                                                    TIMER_A_CTL_MC_1 
  237 #define TIMER_A_CONTINUOUS_MODE                                            TIMER_A_CTL_MC_2 
  238 #define TIMER_A_UPDOWN_MODE                                                TIMER_A_CTL_MC_3 
  245 #define TIMER_A_DO_CLEAR                                                  TIMER_A_CTL_CLR 
  246 #define TIMER_A_SKIP_CLEAR                                                 0x00 
  253 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK                        TIMER_A_CTL_SSEL__TACLK 
  254 #define TIMER_A_CLOCKSOURCE_ACLK                                  TIMER_A_CTL_SSEL__ACLK 
  255 #define TIMER_A_CLOCKSOURCE_SMCLK                                 TIMER_A_CTL_SSEL__SMCLK 
  256 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK               TIMER_A_CTL_SSEL__INCLK 
  264 #define TIMER_A_TAIE_INTERRUPT_ENABLE                                      TIMER_A_CTL_IE 
  265 #define TIMER_A_TAIE_INTERRUPT_DISABLE                                     0x00 
  273 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE                                 TIMER_A_CCTLN_CCIE 
  274 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE                                0x00 
  282 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE                           0x00 
  283 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE                            TIMER_A_CCTLN_CCIE 
  291 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA                                TIMER_A_CCTLN_CCIS_0 
  292 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB                                TIMER_A_CCTLN_CCIS_1 
  293 #define TIMER_A_CAPTURE_INPUTSELECT_GND                                  TIMER_A_CCTLN_CCIS_2 
  294 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc                                  TIMER_A_CCTLN_CCIS_3 
  302 #define TIMER_A_OUTPUTMODE_OUTBITVALUE                                 TIMER_A_CCTLN_OUTMOD_0 
  303 #define TIMER_A_OUTPUTMODE_SET                                         TIMER_A_CCTLN_OUTMOD_1 
  304 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET                                TIMER_A_CCTLN_OUTMOD_2 
  305 #define TIMER_A_OUTPUTMODE_SET_RESET                                   TIMER_A_CCTLN_OUTMOD_3 
  306 #define TIMER_A_OUTPUTMODE_TOGGLE                                      TIMER_A_CCTLN_OUTMOD_4 
  307 #define TIMER_A_OUTPUTMODE_RESET                                       TIMER_A_CCTLN_OUTMOD_5 
  308 #define TIMER_A_OUTPUTMODE_TOGGLE_SET                                  TIMER_A_CCTLN_OUTMOD_6 
  309 #define TIMER_A_OUTPUTMODE_RESET_SET                                   TIMER_A_CCTLN_OUTMOD_7 
  316 #define TIMER_A_CAPTURECOMPARE_REGISTER_0                                  0x02 
  317 #define TIMER_A_CAPTURECOMPARE_REGISTER_1                                  0x04 
  318 #define TIMER_A_CAPTURECOMPARE_REGISTER_2                                  0x06 
  319 #define TIMER_A_CAPTURECOMPARE_REGISTER_3                                  0x08 
  320 #define TIMER_A_CAPTURECOMPARE_REGISTER_4                                  0x0A 
  321 #define TIMER_A_CAPTURECOMPARE_REGISTER_5                                  0x0C 
  322 #define TIMER_A_CAPTURECOMPARE_REGISTER_6                                  0x0E 
  329 #define TIMER_A_CAPTUREMODE_NO_CAPTURE                                     TIMER_A_CCTLN_CM_0 
  330 #define TIMER_A_CAPTUREMODE_RISING_EDGE                                    TIMER_A_CCTLN_CM_1 
  331 #define TIMER_A_CAPTUREMODE_FALLING_EDGE                                   TIMER_A_CCTLN_CM_2 
  332 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE                        TIMER_A_CCTLN_CM_3 
  340 #define TIMER_A_CAPTURE_ASYNCHRONOUS                                       0x00 
  341 #define TIMER_A_CAPTURE_SYNCHRONOUS                                        TIMER_A_CCTLN_SCS 
  348 #define TIMER_A_CAPTURE_OVERFLOW                                          TIMER_A_CCTLN_COV 
  349 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG                             TIMER_A_CCTLN_CCIFG 
  356 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT                      TIMER_A_CCTLN_SCCI 
  357 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT                                 TIMER_A_CCTLN_CCI 
  360 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH                                  0x01 
  361 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW                                   0x00 
  369 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH                                TIMER_A_CCTLN_OUT 
  370 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW                                 0x00 
  378 #define TIMER_A_INTERRUPT_NOT_PENDING                                      0x00 
  379 #define TIMER_A_INTERRUPT_PENDING                                          0x01 
  383 #define Timer_A_setDutyCycle(timer,dutyCycle) \ 
  384                 Timer_A_setCompareValue(timer,dutyCycle) 
  769         uint_fast16_t captureCompareRegister,
 
  770         uint_fast16_t synchronizedSetting);
 
  799         uint_fast16_t captureCompareRegister);
 
  827         uint_fast16_t captureCompareRegister);
 
  859         uint_fast16_t captureCompareRegister,
 
  860         uint_fast8_t outputModeOutBitValue);
 
  977         uint_fast16_t compareRegister, uint_fast16_t compareValue);
 
 1043         uint_fast16_t captureCompareRegister);
 
 1132         uint_fast16_t captureCompareRegister);
 
 1150         uint_fast16_t captureCompareRegister);
 
 1176         uint_fast16_t captureCompareRegister, uint_fast16_t mask);
 
 1200         uint_fast16_t captureCompareRegister);
 
 1234         uint_fast8_t interruptSelect, 
void (*intHandler)(
void));
 
 1265         uint_fast8_t interruptSelect);
 
 1268 #define Timer_A_clearTimerInterrupt Timer_A_clearInterruptFlag 
 1269 #define Timer_A_clear Timer_A_clearTimer 
 1270 #define Timer_A_initCaptureMode Timer_A_initCapture 
 1271 #define Timer_A_initCompareMode Timer_A_initCompare 
 1272 #define Timer_A_initContinuousMode Timer_A_configureContinuousMode 
 1273 #define Timer_A_initUpDownMode Timer_A_configureUpDownMode 
 1274 #define Timer_A_initUpMode Timer_A_configureUpMode 
 1275 #define Timer_A_outputPWM Timer_A_generatePWM 
 1276 #define Timer_A_stop Timer_A_stopTimer 
uint_fast16_t compareOutputMode
Definition: timer_a.h:190
void Timer_A_stopTimer(uint32_t timer)
Definition: timer_a.c:559
Type definition for _Timer_A_PWMConfig structure. 
Definition: timer_a.h:184
uint_fast16_t timerClear
Definition: timer_a.h:105
uint_fast16_t clockSource
Definition: timer_a.h:122
void Timer_A_disableInterrupt(uint32_t timer)
Definition: timer_a.c:612
uint16_t Timer_A_getCounterValue(uint32_t timer)
Definition: timer_a.c:385
uint_fast8_t captureInterruptEnable
Definition: timer_a.h:148
uint_fast16_t clockSourceDivider
Definition: timer_a.h:187
uint_fast8_t Timer_A_getOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:444
uint_fast16_t timerClear
Definition: timer_a.h:127
void Timer_A_clearCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:585
uint32_t Timer_A_getCaptureCompareInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t mask)
Definition: timer_a.c:667
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:103
uint32_t Timer_A_getCaptureCompareEnabledInterruptStatus(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:686
struct _Timer_A_ContinuousModeConfig Timer_A_ContinuousModeConfig
struct _Timer_A_CaptureModeConfig Timer_A_CaptureModeConfig
uint_fast16_t synchronizeCaptureSource
Definition: timer_a.h:147
uint_fast16_t clockSource
Definition: timer_a.h:100
uint_fast16_t compareRegister
Definition: timer_a.h:189
void Timer_A_initCompare(uint32_t timer, const Timer_A_CompareModeConfig *config)
Definition: timer_a.c:324
void Timer_A_configureUpDownMode(uint32_t timer, const Timer_A_UpDownModeConfig *config)
Definition: timer_a.c:205
Type definition for _Timer_A_UpDownModeConfig structure. 
Definition: timer_a.h:120
uint_fast16_t timerPeriod
Definition: timer_a.h:102
void Timer_A_initCapture(uint32_t timer, const Timer_A_CaptureModeConfig *config)
Definition: timer_a.c:240
void Timer_A_registerInterrupt(uint32_t timer, uint_fast8_t interruptSelect, void(*intHandler)(void))
Definition: timer_a.c:699
struct _Timer_A_PWMConfig Timer_A_PWMConfig
void Timer_A_unregisterInterrupt(uint32_t timer, uint_fast8_t interruptSelect)
Definition: timer_a.c:754
uint_fast8_t Timer_A_getSynchronizedCaptureCompareInput(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast16_t synchronizedSetting)
Definition: timer_a.c:414
uint_fast16_t captureOutputMode
Definition: timer_a.h:149
uint_fast16_t Timer_A_getCaptureCompareCount(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:469
uint_fast16_t timerPeriod
Definition: timer_a.h:188
uint_fast16_t clockSourceDivider
Definition: timer_a.h:81
uint_fast16_t compareInterruptEnable
Definition: timer_a.h:167
uint_fast16_t compareValue
Definition: timer_a.h:169
uint32_t Timer_A_getInterruptStatus(uint32_t timer)
Definition: timer_a.c:617
uint_fast16_t clockSourceDivider
Definition: timer_a.h:123
Type definition for _Timer_A_UpModeConfig structure. 
Definition: timer_a.h:98
uint_fast16_t clockSourceDivider
Definition: timer_a.h:101
void Timer_A_startCounter(uint32_t timer, uint_fast16_t timerMode)
Definition: timer_a.c:90
uint_fast16_t dutyCycle
Definition: timer_a.h:191
uint_fast16_t clockSource
Definition: timer_a.h:80
void Timer_A_setOutputForOutputModeOutBitValue(uint32_t timer, uint_fast16_t captureCompareRegister, uint_fast8_t outputModeOutBitValue)
Definition: timer_a.c:491
uint_fast16_t captureInputSelect
Definition: timer_a.h:146
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:125
struct _Timer_A_UpModeConfig Timer_A_UpModeConfig
void Timer_A_configureContinuousMode(uint32_t timer, const Timer_A_ContinuousModeConfig *config)
Definition: timer_a.c:100
uint_fast16_t timerClear
Definition: timer_a.h:83
void Timer_A_clearTimer(uint32_t timer)
Definition: timer_a.c:409
uint_fast16_t clockSource
Definition: timer_a.h:186
void Timer_A_setCompareValue(uint32_t timer, uint_fast16_t compareRegister, uint_fast16_t compareValue)
Definition: timer_a.c:564
Type definition for _Timer_A_CompareModeConfig structure. 
Definition: timer_a.h:164
void Timer_A_generatePWM(uint32_t timer, const Timer_A_PWMConfig *config)
Definition: timer_a.c:502
uint_fast16_t timerInterruptEnable_TAIE
Definition: timer_a.h:82
uint_fast16_t compareRegister
Definition: timer_a.h:166
void Timer_A_enableInterrupt(uint32_t timer)
Definition: timer_a.c:607
struct _Timer_A_UpDownModeConfig Timer_A_UpDownModeConfig
Type definition for _Timer_A_ContinuousModeConfig structure. 
Definition: timer_a.h:78
uint_fast16_t captureMode
Definition: timer_a.h:145
uint_fast16_t compareOutputMode
Definition: timer_a.h:168
uint_fast16_t captureRegister
Definition: timer_a.h:144
void Timer_A_disableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:644
Type definition for _Timer_A_CaptureModeConfig structure. 
Definition: timer_a.h:142
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:126
void Timer_A_clearInterruptFlag(uint32_t timer)
Definition: timer_a.c:580
struct _Timer_A_CompareModeConfig Timer_A_CompareModeConfig
void Timer_A_enableCaptureCompareInterrupt(uint32_t timer, uint_fast16_t captureCompareRegister)
Definition: timer_a.c:622
uint32_t Timer_A_getEnabledInterruptStatus(uint32_t timer)
Definition: timer_a.c:674
uint_fast16_t timerPeriod
Definition: timer_a.h:124
uint_fast16_t captureCompareInterruptEnable_CCR0_CCIE
Definition: timer_a.h:104
void Timer_A_configureUpMode(uint32_t timer, const Timer_A_UpModeConfig *config)
Definition: timer_a.c:170