MSP432E4 DriverLib API Guide
1.11.00.03
|
Functions | |
void | TimerEnable (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerDisable (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerConfigure (uint32_t ui32Base, uint32_t ui32Config) |
void | TimerControlLevel (uint32_t ui32Base, uint32_t ui32Timer, bool bInvert) |
void | TimerControlTrigger (uint32_t ui32Base, uint32_t ui32Timer, bool bEnable) |
void | TimerControlEvent (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Event) |
void | TimerControlStall (uint32_t ui32Base, uint32_t ui32Timer, bool bStall) |
void | TimerControlWaitOnTrigger (uint32_t ui32Base, uint32_t ui32Timer, bool bWait) |
void | TimerRTCEnable (uint32_t ui32Base) |
void | TimerRTCDisable (uint32_t ui32Base) |
void | TimerClockSourceSet (uint32_t ui32Base, uint32_t ui32Source) |
uint32_t | TimerClockSourceGet (uint32_t ui32Base) |
void | TimerPrescaleSet (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Value) |
uint32_t | TimerPrescaleGet (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerPrescaleMatchSet (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Value) |
uint32_t | TimerPrescaleMatchGet (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerLoadSet (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Value) |
uint32_t | TimerLoadGet (uint32_t ui32Base, uint32_t ui32Timer) |
uint32_t | TimerValueGet (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerMatchSet (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Value) |
uint32_t | TimerMatchGet (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerIntRegister (uint32_t ui32Base, uint32_t ui32Timer, void(*pfnHandler)(void)) |
void | TimerIntUnregister (uint32_t ui32Base, uint32_t ui32Timer) |
void | TimerIntEnable (uint32_t ui32Base, uint32_t ui32IntFlags) |
void | TimerIntDisable (uint32_t ui32Base, uint32_t ui32IntFlags) |
uint32_t | TimerIntStatus (uint32_t ui32Base, bool bMasked) |
void | TimerIntClear (uint32_t ui32Base, uint32_t ui32IntFlags) |
void | TimerSynchronize (uint32_t ui32Base, uint32_t ui32Timers) |
void | TimerADCEventSet (uint32_t ui32Base, uint32_t ui32ADCEvent) |
uint32_t | TimerADCEventGet (uint32_t ui32Base) |
void | TimerDMAEventSet (uint32_t ui32Base, uint32_t ui32DMAEvent) |
uint32_t | TimerDMAEventGet (uint32_t ui32Base) |
void | TimerUpdateMode (uint32_t ui32Base, uint32_t ui32Timer, uint32_t ui32Config) |
The timer API provides a set of functions for using the timer module. Functions are provided to configure and control the timer, modify timer/counter values, and manage timer interrupt handling.
The timer module provides two half-width timers/counters that can be configured to operate independently as timers or event counters or to operate as a combined full-width timer or Real Time Clock (RTC). Some timers provide 16-bit half-width timers and a 32-bit full-width timer, while others provide 32-bit half-width timers and a 64-bit full-width timer. For the purposes of this API, the two half-width timers provided by a timer module are referred to as TimerA and TimerB, and the full-width timer is referred to as TimerA.
When configured as either a full-width or half-width timer, a timer can be set up to run as a one-shot timer or a continuous timer. If configured in one-shot mode, the timer ceases counting when it reaches zero when counting down or the load value when counting up. If configured in continuous mode, the timer counts to zero (counting down) or the load value (counting up), then reloads and continues counting. When configured as a full-width timer, the timer can also be configured to operate as an RTC. In this mode, the timer expects to be driven by a 32.768-KHz external clock, which is divided down to produce 1 second clock ticks.
When in half-width mode, the timer can also be configured for event capture or as a Pulse Width Modulation (PWM) generator. When configured for event capture, the timer acts as a counter. It can be configured to either count the time between events or the events themselves. The type of event being counted can be configured as a positive edge, a negative edge, or both edges. When a timer is configured as a PWM generator, the input signal used to capture events becomes an output signal, and the timer drives an edge-aligned pulse onto that signal.
The timer module also provides the ability to control other functional parameters, such as output inversion, output triggers, and timer behavior during stalls.
Control is also provided over interrupt sources and events. Interrupts can be generated to indicate that an event has been captured, or that a certain number of events have been captured. Interrupts can also be generated when the timer has counted down to zero or when the timer matches a certain value.
On some parts, the counters from multiple timer modules can be synchronized. Synchronized counters are useful in PWM and edge time capture modes. In PWM mode, the PWM outputs from multiple timers can be in lock-step by having the same load value and synchronizing the counters (meaning that the counters always have the same value). Similarly, by using the same load value and synchronized counters in edge time capture mode, the absolute time between two input edges can be easily measured.
The timer API is broken into three groups of functions: those that deal with timer configuration and control, those that deal with timer contents, and those that deal with interrupt handling.
Timer configuration is handled by TimerConfigure(), which performs the high level setup of the timer module; that is, it is used to set up full- or half-width modes, and to select between PWM, capture, and timer operations. Timer control is performed by TimerEnable(), TimerDisable(), TimerControlLevel(), TimerControlTrigger(), TimerControlEvent(), TimerControlStall(), TimerRTCEnable(), and TimerRTCDisable().
Timer content is managed with TimerLoadSet(), TimerLoadGet(), TimerLoadSet64(), TimerLoadGet64(), TimerPrescaleSet(), TimerPrescaleGet(), TimerMatchSet(), TimerMatchGet(), TimerMatchSet64(), TimerMatchGet64(), TimerPrescaleMatchSet(), TimerPrescaleMatchGet(), TimerValueGet(), TimerValueGet64(), and TimerSynchronize().
The interrupt handler for the Timer interrupt is managed with TimerIntRegister() and TimerIntUnregister(). The individual interrupt sources within the timer module are managed with TimerIntEnable(), TimerIntDisable(), TimerIntStatus(), and TimerIntClear().
The following example shows how to use the timer API to configure the timer as a half-width one shot timer and a half-width edge capture counter.
void TimerEnable | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Enables the timer(s).
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to enable; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
This function enables operation of the timer module. The timer must be configured before it is enabled.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_CTL_TAEN, TIMER_CTL_TBEN, and TIMER_O_CTL.
void TimerDisable | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Disables the timer(s).
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to disable; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
This function disables operation of the timer module.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_CTL_TAEN, TIMER_CTL_TBEN, and TIMER_O_CTL.
void TimerConfigure | ( | uint32_t | ui32Base, |
uint32_t | ui32Config | ||
) |
Configures the timer(s).
ui32Base | is the base address of the timer module. |
ui32Config | is the configuration for the timer. |
This function configures the operating mode of the timer(s). The timer module is disabled before being configured and is left in the disabled state. The timer can be configured to be a single full-width timer by using the TIMER_CFG_* values or a pair of half-width timers using the TIMER_CFG_A_* and TIMER_CFG_B_* values passed in the ui32Config parameter.
The configuration is specified in ui32Config as one of the following values:
When configured for a pair of half-width timers, each timer is separately configured. The first timer is configured by setting ui32Config to the result of a logical OR operation between one of the following values and ui32Config:
One of the following can be combined with the TIMER_CFG_* values to enable an action on timer A:
One of the following can be combined with the TIMER_CFG_* values to enable an action on timer B:
Similarly, the second timer is configured by setting ui32Config to the result of a logical OR operation between one of the corresponding TIMER_CFG_B_* values and ui32Config.
References ASSERT, HWREG, TIMER_CFG_A_CAP_COUNT, TIMER_CFG_A_CAP_COUNT_UP, TIMER_CFG_A_CAP_TIME, TIMER_CFG_A_CAP_TIME_UP, TIMER_CFG_A_ONE_SHOT, TIMER_CFG_A_ONE_SHOT_UP, TIMER_CFG_A_PERIODIC, TIMER_CFG_A_PERIODIC_UP, TIMER_CFG_A_PWM, TIMER_CFG_B_CAP_COUNT, TIMER_CFG_B_CAP_COUNT_UP, TIMER_CFG_B_CAP_TIME, TIMER_CFG_B_CAP_TIME_UP, TIMER_CFG_B_ONE_SHOT, TIMER_CFG_B_ONE_SHOT_UP, TIMER_CFG_B_PERIODIC, TIMER_CFG_B_PERIODIC_UP, TIMER_CFG_B_PWM, TIMER_CFG_ONE_SHOT, TIMER_CFG_ONE_SHOT_UP, TIMER_CFG_PERIODIC, TIMER_CFG_PERIODIC_UP, TIMER_CFG_RTC, TIMER_CFG_SPLIT_PAIR, TIMER_CTL_TAEN, TIMER_CTL_TBEN, TIMER_O_CFG, TIMER_O_CTL, TIMER_O_TAMR, TIMER_O_TBMR, TIMER_TAMR_TAPWMIE, and TIMER_TBMR_TBPWMIE.
void TimerControlLevel | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
bool | bInvert | ||
) |
Controls the output level.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
bInvert | specifies the output level. |
This function configures the PWM output level for the specified timer. If the bInvert parameter is true, then the timer's output is made active low; otherwise, it is made active high.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_CTL_TAPWML, TIMER_CTL_TBPWML, and TIMER_O_CTL.
void TimerControlTrigger | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
bool | bEnable | ||
) |
Enables or disables the ADC trigger output.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
bEnable | specifies the desired ADC trigger state. |
This function controls the ADC trigger output for the specified timer. If the bEnable parameter is true, then the timer's ADC output trigger is enabled; otherwise it is disabled.
References ASSERT, HWREG, TIMER_A, TIMER_ADCEV_TATOADCEN, TIMER_ADCEV_TBTOADCEN, TIMER_B, TIMER_BOTH, TIMER_CTL_TAOTE, TIMER_CTL_TBOTE, TIMER_O_ADCEV, and TIMER_O_CTL.
void TimerControlEvent | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Event | ||
) |
Controls the event type.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to be adjusted; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
ui32Event | specifies the type of event; must be one of TIMER_EVENT_POS_EDGE, TIMER_EVENT_NEG_EDGE, or TIMER_EVENT_BOTH_EDGES. |
This function configures the signal edge(s) that triggers the timer when in capture mode.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_CTL_TAEVENT_M, TIMER_CTL_TBEVENT_M, and TIMER_O_CTL.
void TimerControlStall | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
bool | bStall | ||
) |
Controls the stall handling.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to be adjusted; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
bStall | specifies the response to a stall signal. |
This function controls the stall response for the specified timer. If the bStall parameter is true, then the timer stops counting if the processor enters debug mode; otherwise the timer keeps running while in debug mode.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_CTL_TASTALL, TIMER_CTL_TBSTALL, and TIMER_O_CTL.
void TimerControlWaitOnTrigger | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
bool | bWait | ||
) |
Controls the wait on trigger handling.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to be adjusted; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
bWait | specifies if the timer should wait for a trigger input. |
This function controls whether or not a timer waits for a trigger input to start counting. When enabled, the previous timer in the trigger chain must count to its timeout in order for this timer to start counting. Refer to the TRM/data sheet for a description of the trigger chain.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAMR, TIMER_O_TBMR, TIMER_TAMR_TAWOT, and TIMER_TBMR_TBWOT.
void TimerRTCEnable | ( | uint32_t | ui32Base | ) |
Enables RTC counting.
ui32Base | is the base address of the timer module. |
This function causes the timer to start counting when in RTC mode. If not configured for RTC mode, this function does nothing.
References ASSERT, HWREG, TIMER_CTL_RTCEN, and TIMER_O_CTL.
void TimerRTCDisable | ( | uint32_t | ui32Base | ) |
Disables RTC counting.
ui32Base | is the base address of the timer module. |
This function causes the timer to stop counting when in RTC mode.
References ASSERT, HWREG, TIMER_CTL_RTCEN, and TIMER_O_CTL.
void TimerClockSourceSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Source | ||
) |
Sets the clock source for the specified timer module.
ui32Base | is the base address of the timer module. |
ui32Source | is the clock source for the timer module. |
This function sets the clock source for both timer A and timer B for the given timer module. The possible clock sources are the system clock (TIMER_CLOCK_SYSTEM) or the precision internal oscillator (TIMER_CLOCK_PIOSC).
References ASSERT, HWREG, TIMER_CLOCK_PIOSC, TIMER_CLOCK_SYSTEM, and TIMER_O_CC.
uint32_t TimerClockSourceGet | ( | uint32_t | ui32Base | ) |
Returns the clock source for the specified timer module.
ui32Base | is the base address of the timer module. |
This function returns the clock source for the specified timer module. The possible clock sources are the system clock (TIMER_CLOCK_SYSTEM) or the precision internal oscillator (TIMER_CLOCK_PIOSC).
References ASSERT, HWREG, and TIMER_O_CC.
void TimerPrescaleSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Value | ||
) |
Sets the timer prescale value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
ui32Value | is the timer prescale value which must be between 0 and 255 (inclusive) for 16/32-bit timers. |
This function configures the value of the input clock prescaler. The prescaler is only operational when in half-width mode and is used to extend the range of the half-width timer modes. The prescaler provides the least significant bits when counting down in periodic and one-shot modes; in all other modes, the prescaler provides the most significant bits.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAPR, and TIMER_O_TBPR.
uint32_t TimerPrescaleGet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Gets the timer prescale value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer; must be one of TIMER_A or TIMER_B. |
This function gets the value of the input clock prescaler. The prescaler is only operational when in half-width mode and is used to extend the range of the half-width timer modes. The prescaler provides the least significant bits when counting down in periodic and one-shot modes; in all other modes, the prescaler provides the most significant bits.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAPR, and TIMER_O_TBPR.
void TimerPrescaleMatchSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Value | ||
) |
Sets the timer prescale match value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
ui32Value | is the timer prescale match value which must be between 0 and 255 (inclusive) for 16/32-bit timers. |
This function configures the value of the input clock prescaler match value. When in a half-width mode that uses the counter match and the prescaler, the prescale match effectively extends the range of the match. The prescaler provides the least significant bits when counting down in periodic and one-shot modes; in all other modes, the prescaler provides the most significant bits.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAPMR, and TIMER_O_TBPMR.
uint32_t TimerPrescaleMatchGet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Gets the timer prescale match value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer; must be one of TIMER_A or TIMER_B. |
This function gets the value of the input clock prescaler match value. When in a half-width mode that uses the counter match and prescaler, the prescale match effectively extends the range of the match. The prescaler provides the least significant bits when counting down in periodic and one-shot modes; in all other modes, the prescaler provides the most significant bits.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAPMR, and TIMER_O_TBPMR.
void TimerLoadSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Value | ||
) |
Sets the timer load value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. Only TIMER_A should be used when the timer is configured for full-width operation. |
ui32Value | is the load value. |
This function configures the timer load value; if the timer is running then the value is immediately loaded into the timer.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAILR, and TIMER_O_TBILR.
uint32_t TimerLoadGet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Gets the timer load value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer; must be one of TIMER_A or TIMER_B. Only TIMER_A should be used when the timer is configured for full-width operation. |
This function gets the currently programmed interval load value for the specified timer.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_O_TAILR, and TIMER_O_TBILR.
uint32_t TimerValueGet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Gets the current timer value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer; must be one of TIMER_A or TIMER_B. Only TIMER_A should be used when the timer is configured for full-width operation. |
This function reads the current value of the specified timer.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_O_TAR, and TIMER_O_TBR.
void TimerMatchSet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Value | ||
) |
Sets the timer match value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s) to adjust; must be one of TIMER_A, TIMER_B, or TIMER_BOTH. Only TIMER_A should be used when the timer is configured for full-width operation. |
ui32Value | is the match value. |
This function configures the match value for a timer. This value is used in capture count mode to determine when to interrupt the processor and in PWM mode to determine the duty cycle of the output signal. Match interrupts can also be generated in periodic and one-shot modes.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_BOTH, TIMER_O_TAMATCHR, and TIMER_O_TBMATCHR.
uint32_t TimerMatchGet | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Gets the timer match value.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer; must be one of TIMER_A or TIMER_B. Only TIMER_A should be used when the timer is configured for full-width operation. |
This function gets the match value for the specified timer.
References ASSERT, HWREG, TIMER_A, TIMER_B, TIMER_O_TAMATCHR, and TIMER_O_TBMATCHR.
void TimerIntRegister | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
void(*)(void) | pfnHandler | ||
) |
Registers an interrupt handler for the timer interrupt.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s); must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
pfnHandler | is a pointer to the function to be called when the timer interrupt occurs. |
This function registers the handler to be called when a timer interrupt occurs. In addition, this function enables the global interrupt in the interrupt controller; specific timer interrupts must be enabled via TimerIntEnable(). It is the interrupt handler's responsibility to clear the interrupt source via TimerIntClear().
References ASSERT, TIMER_A, TIMER_B, and TIMER_BOTH.
void TimerIntUnregister | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer | ||
) |
Unregisters an interrupt handler for the timer interrupt.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s); must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
This function unregisters the handler to be called when a timer interrupt occurs. This function also masks off the interrupt in the interrupt controller so that the interrupt handler is no longer called.
References ASSERT, TIMER_A, TIMER_B, and TIMER_BOTH.
void TimerIntEnable | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Enables individual timer interrupt sources.
ui32Base | is the base address of the timer module. |
ui32IntFlags | is the bit mask of the interrupt sources to be enabled. |
This function enables the indicated timer interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
The ui32IntFlags parameter must be the logical OR of any combination of the following:
References ASSERT, HWREG, and TIMER_O_IMR.
void TimerIntDisable | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Disables individual timer interrupt sources.
ui32Base | is the base address of the timer module. |
ui32IntFlags | is the bit mask of the interrupt sources to be disabled. |
This function disables the indicated timer interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
The ui32IntFlags parameter has the same definition as the ui32IntFlags parameter to TimerIntEnable().
References ASSERT, HWREG, and TIMER_O_IMR.
uint32_t TimerIntStatus | ( | uint32_t | ui32Base, |
bool | bMasked | ||
) |
Gets the current interrupt status.
ui32Base | is the base address of the timer module. |
bMasked | is false if the raw interrupt status is required and true if the masked interrupt status is required. |
This function returns the interrupt status for the timer module. Either the raw interrupt status or the status of interrupts that are allowed to reflect to the processor can be returned.
References ASSERT, HWREG, TIMER_O_MIS, and TIMER_O_RIS.
void TimerIntClear | ( | uint32_t | ui32Base, |
uint32_t | ui32IntFlags | ||
) |
Clears timer interrupt sources.
ui32Base | is the base address of the timer module. |
ui32IntFlags | is a bit mask of the interrupt sources to be cleared. |
The specified timer interrupt sources are cleared, so that they no longer assert. This function must be called in the interrupt handler to keep the interrupt from being triggered again immediately upon exit.
The ui32IntFlags parameter has the same definition as the ui32IntFlags parameter to TimerIntEnable().
References ASSERT, HWREG, and TIMER_O_ICR.
void TimerSynchronize | ( | uint32_t | ui32Base, |
uint32_t | ui32Timers | ||
) |
Synchronizes the counters in a set of timers.
ui32Base | is the base address of the timer module. This parameter must be the base address of Timer0 (in other words, TIMER0_BASE). |
ui32Timers | is the set of timers to synchronize. |
This function synchronizes the counters in a specified set of timers. When a timer is running in half-width mode, each half can be included or excluded in the synchronization event. When a timer is running in full-width mode, only the A timer can be synchronized (specifying the B timer has no effect).
The ui32Timers parameter is the logical OR of any of the following defines:
References ASSERT, HWREG, and TIMER_O_SYNC.
void TimerADCEventSet | ( | uint32_t | ui32Base, |
uint32_t | ui32ADCEvent | ||
) |
Enables the events that can cause an ADC trigger event.
ui32Base | is the base address of the timer module. |
ui32ADCEvent | is a bit mask of the events that can cause an ADC trigger event. |
This function enables the timer events that can cause an ADC trigger event. The ADC trigger events are specified in the ui32ADCEvent parameter by passing in the logical OR of any of the following values:
References ASSERT, HWREG, and TIMER_O_ADCEV.
uint32_t TimerADCEventGet | ( | uint32_t | ui32Base | ) |
Returns the events that can cause an ADC trigger event.
ui32Base | is the base address of the timer module. |
This function returns the timer events that can cause an ADC trigger event. The ADC trigger events are the logical OR of any of the following values:
References ASSERT, HWREG, and TIMER_O_ADCEV.
void TimerDMAEventSet | ( | uint32_t | ui32Base, |
uint32_t | ui32DMAEvent | ||
) |
Enables the events that can trigger a uDMA request.
ui32Base | is the base address of the timer module. |
ui32DMAEvent | is a bit mask of the events that can trigger uDMA. |
This function enables the timer events that can trigger the start of a uDMA sequence. The uDMA trigger events are specified in the ui32DMAEvent parameter by passing in the logical OR of the following values:
References ASSERT, HWREG, and TIMER_O_DMAEV.
uint32_t TimerDMAEventGet | ( | uint32_t | ui32Base | ) |
Returns the events that can trigger a uDMA request.
ui32Base | is the base address of the timer module. |
This function returns the timer events that can trigger the start of a uDMA sequence. The uDMA trigger events are the logical OR of the following values:
References ASSERT, HWREG, and TIMER_O_DMAEV.
void TimerUpdateMode | ( | uint32_t | ui32Base, |
uint32_t | ui32Timer, | ||
uint32_t | ui32Config | ||
) |
This function configures the update of timer load and match settings.
ui32Base | is the base address of the timer module. |
ui32Timer | specifies the timer(s); must be one of TIMER_A, TIMER_B, or TIMER_BOTH. |
ui32Config | is a combination of the updates methods for the timers specified in the ui32Timer parameter. |
This function configures how the timer updates the timer load and match values for the timers. The ui32Timer values can be TIMER_A, TIMER_B, or TIMER_BOTH to apply the settings in ui32Config to either timer or both timers. If the timer is not split then the TIMER_A should be used. The ui32Config values affects when the TimerLoadSet() values take effect.
Similarly the ui32Config value affects when the TimerMatchSet() values take effect.
References HWREG, TIMER_A, TIMER_B, TIMER_O_TAMR, and TIMER_O_TBMR.