![]() |
MCUXpresso SDK API Reference Manual
Rev 2.16.000
NXP Semiconductors
|
The MCUXpresso SDK provides a driver for the QTMR module of MCUXpresso SDK devices.
Data Structures | |
| struct | _qtmr_config |
| Quad Timer config structure. More... | |
Typedefs | |
|
typedef enum _qtmr_primary_count_source | qtmr_primary_count_source_t |
| Quad Timer primary clock source selection. | |
| typedef enum _qtmr_input_source | qtmr_input_source_t |
| Quad Timer input sources selection. | |
| typedef enum _qtmr_counting_mode | qtmr_counting_mode_t |
| Quad Timer counting mode selection. | |
| typedef enum _qtmr_pwm_out_state | qtmr_pwm_out_state_t |
| Quad Timer PWM output state. | |
| typedef enum _qtmr_output_mode | qtmr_output_mode_t |
| Quad Timer output mode selection. | |
|
typedef enum _qtmr_input_capture_edge | qtmr_input_capture_edge_t |
| Quad Timer input capture edge mode, rising edge, or falling edge. | |
| typedef enum _qtmr_preload_control | qtmr_preload_control_t |
| Quad Timer input capture edge mode, rising edge, or falling edge. | |
| typedef enum _qtmr_debug_action | qtmr_debug_action_t |
| List of Quad Timer run options when in Debug mode. | |
| typedef enum _qtmr_interrupt_enable | qtmr_interrupt_enable_t |
| List of Quad Timer interrupts. | |
| typedef enum _qtmr_status_flags | qtmr_status_flags_t |
| List of Quad Timer flags. | |
|
typedef enum _qtmr_channel_selection | qtmr_channel_selection_t |
| List of channel selection. | |
| typedef enum _qtmr_dma_enable | qtmr_dma_enable_t |
| List of Quad Timer DMA enable. | |
| typedef struct _qtmr_config | qtmr_config_t |
| Quad Timer config structure. More... | |
Functions | |
| status_t | QTMR_SetupPwm (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t pwmFreqHz, uint8_t dutyCyclePercent, bool outputPolarity, uint32_t srcClock_Hz) |
| Sets up Quad timer module for PWM signal output. More... | |
| void | QTMR_SetupInputCapture (TMR_Type *base, qtmr_channel_selection_t channel, qtmr_input_source_t capturePin, bool inputPolarity, bool reloadOnCapture, qtmr_input_capture_edge_t captureMode) |
| Allows the user to count the source clock cycles until a capture event arrives. More... | |
Driver version | |
| #define | FSL_QTMR_DRIVER_VERSION (MAKE_VERSION(2, 2, 2)) |
| Version. | |
Initialization and deinitialization | |
| void | QTMR_Init (TMR_Type *base, qtmr_channel_selection_t channel, const qtmr_config_t *config) |
| Ungates the Quad Timer clock and configures the peripheral for basic operation. More... | |
| void | QTMR_Deinit (TMR_Type *base, qtmr_channel_selection_t channel) |
| Stops the counter and gates the Quad Timer clock. More... | |
| void | QTMR_GetDefaultConfig (qtmr_config_t *config) |
| Fill in the Quad Timer config struct with the default settings. More... | |
Interrupt Interface | |
| void | QTMR_EnableInterrupts (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t mask) |
| Enables the selected Quad Timer interrupts. More... | |
| void | QTMR_DisableInterrupts (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t mask) |
| Disables the selected Quad Timer interrupts. More... | |
| uint32_t | QTMR_GetEnabledInterrupts (TMR_Type *base, qtmr_channel_selection_t channel) |
| Gets the enabled Quad Timer interrupts. More... | |
Status Interface | |
| uint32_t | QTMR_GetStatus (TMR_Type *base, qtmr_channel_selection_t channel) |
| Gets the Quad Timer status flags. More... | |
| void | QTMR_ClearStatusFlags (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t mask) |
| Clears the Quad Timer status flags. More... | |
Read and Write the timer period | |
| void | QTMR_SetTimerPeriod (TMR_Type *base, qtmr_channel_selection_t channel, uint16_t ticks) |
| Sets the timer period in ticks. More... | |
| void | QTMR_SetCompareValue (TMR_Type *base, qtmr_channel_selection_t channel, uint16_t ticks) |
| Set compare value. More... | |
| static void | QTMR_SetLoadValue (TMR_Type *base, qtmr_channel_selection_t channel, uint16_t value) |
| Set load value. More... | |
| static uint16_t | QTMR_GetCurrentTimerCount (TMR_Type *base, qtmr_channel_selection_t channel) |
| Reads the current timer counting value. More... | |
Timer Start and Stop | |
| static void | QTMR_StartTimer (TMR_Type *base, qtmr_channel_selection_t channel, qtmr_counting_mode_t clockSource) |
| Starts the Quad Timer counter. More... | |
| static void | QTMR_StopTimer (TMR_Type *base, qtmr_channel_selection_t channel) |
| Stops the Quad Timer counter. More... | |
Enable and Disable the Quad Timer DMA | |
| void | QTMR_EnableDma (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t mask) |
| Enable the Quad Timer DMA. More... | |
| void | QTMR_DisableDma (TMR_Type *base, qtmr_channel_selection_t channel, uint32_t mask) |
| Disable the Quad Timer DMA. More... | |
| void | QTMR_SetPwmOutputToIdle (TMR_Type *base, qtmr_channel_selection_t channel, bool idleStatus) |
| Set PWM output in idle status (high or low). More... | |
| static qtmr_pwm_out_state_t | QTMR_GetPwmOutputStatus (TMR_Type *base, qtmr_channel_selection_t channel) |
| Get the channel output status. More... | |
| uint8_t | QTMR_GetPwmChannelStatus (TMR_Type *base, qtmr_channel_selection_t channel) |
| Get the PWM channel dutycycle value. More... | |
| void | QTMR_SetPwmClockMode (TMR_Type *base, qtmr_channel_selection_t channel, qtmr_primary_count_source_t prescaler) |
| This function set the value of the prescaler on QTimer channels. More... | |
| struct _qtmr_config |
This structure holds the configuration settings for the Quad Timer peripheral. To initialize this structure to reasonable defaults, call the QTMR_GetDefaultConfig() function and pass a pointer to your config structure instance.
The config struct can be made const so it resides in flash
Data Fields | |
| qtmr_primary_count_source_t | primarySource |
| Specify the primary count source. | |
| qtmr_input_source_t | secondarySource |
| Specify the secondary count source. | |
| bool | enableMasterMode |
| true: Broadcast compare function output to other counters; false no broadcast | |
| bool | enableExternalForce |
| true: Compare from another counter force state of OFLAG signal false: OFLAG controlled by local counter | |
| uint8_t | faultFilterCount |
| Fault filter count. | |
| uint8_t | faultFilterPeriod |
| Fault filter period;value of 0 will bypass the filter. | |
| qtmr_debug_action_t | debugMode |
| Operation in Debug mode. | |
| typedef struct _qtmr_config qtmr_config_t |
This structure holds the configuration settings for the Quad Timer peripheral. To initialize this structure to reasonable defaults, call the QTMR_GetDefaultConfig() function and pass a pointer to your config structure instance.
The config struct can be made const so it resides in flash
| enum _qtmr_input_source |
| enum _qtmr_counting_mode |
| enum _qtmr_pwm_out_state |
| enum _qtmr_output_mode |
| enum _qtmr_debug_action |
| enum _qtmr_status_flags |
| enum _qtmr_dma_enable |
| void QTMR_Init | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| const qtmr_config_t * | config | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| config | Pointer to user's Quad Timer config structure |
| void QTMR_Deinit | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| void QTMR_GetDefaultConfig | ( | qtmr_config_t * | config | ) |
The default values are:
| config | Pointer to user's Quad Timer config structure. |
| status_t QTMR_SetupPwm | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | pwmFreqHz, | ||
| uint8_t | dutyCyclePercent, | ||
| bool | outputPolarity, | ||
| uint32_t | srcClock_Hz | ||
| ) |
The function initializes the timer module according to the parameters passed in by the user. The function also sets up the value compare registers to match the PWM signal requirements.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| pwmFreqHz | PWM signal frequency in Hz |
| dutyCyclePercent | PWM pulse width, value should be between 0 to 100 0=inactive signal(0% duty cycle)... 100=active signal (100% duty cycle) |
| outputPolarity | true: invert polarity of the output signal, false: no inversion |
| srcClock_Hz | Main counter clock in Hz. |
| void QTMR_SetupInputCapture | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| qtmr_input_source_t | capturePin, | ||
| bool | inputPolarity, | ||
| bool | reloadOnCapture, | ||
| qtmr_input_capture_edge_t | captureMode | ||
| ) |
The count is stored in the capture register.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| capturePin | Pin through which we receive the input signal to trigger the capture |
| inputPolarity | true: invert polarity of the input signal, false: no inversion |
| reloadOnCapture | true: reload the counter when an input capture occurs, false: no reload |
| captureMode | Specifies which edge of the input signal triggers a capture |
| void QTMR_EnableInterrupts | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | mask | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| mask | The interrupts to enable. This is a logical OR of members of the enumeration qtmr_interrupt_enable_t |
| void QTMR_DisableInterrupts | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | mask | ||
| ) |
| base | Quad Timer peripheral base addres |
| channel | Quad Timer channel number |
| mask | The interrupts to enable. This is a logical OR of members of the enumeration qtmr_interrupt_enable_t |
| uint32_t QTMR_GetEnabledInterrupts | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| uint32_t QTMR_GetStatus | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| void QTMR_ClearStatusFlags | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | mask | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| mask | The status flags to clear. This is a logical OR of members of the enumeration qtmr_status_flags_t |
| void QTMR_SetTimerPeriod | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint16_t | ticks | ||
| ) |
Timers counts from initial value till it equals the count value set here. The counter will then reinitialize to the value specified in the Load register.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| ticks | Timer period in units of ticks |
| void QTMR_SetCompareValue | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint16_t | ticks | ||
| ) |
This function sets the value used for comparison with the counter value.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| ticks | Timer period in units of ticks. |
|
inlinestatic |
This function sets the value used to initialize the counter after a counter comparison.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| value | Load register initialization value. |
|
inlinestatic |
This function returns the real-time timer counting value, in a range from 0 to a timer period.
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
|
inlinestatic |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| clockSource | Quad Timer clock source |
|
inlinestatic |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| void QTMR_EnableDma | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | mask | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| mask | The DMA to enable. This is a logical OR of members of the enumeration qtmr_dma_enable_t |
| void QTMR_DisableDma | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| uint32_t | mask | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| mask | The DMA to enable. This is a logical OR of members of the enumeration qtmr_dma_enable_t |
| void QTMR_SetPwmOutputToIdle | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| bool | idleStatus | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| idleStatus | True: PWM output is high in idle status; false: PWM output is low in idle status. |
|
inlinestatic |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| uint8_t QTMR_GetPwmChannelStatus | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| void QTMR_SetPwmClockMode | ( | TMR_Type * | base, |
| qtmr_channel_selection_t | channel, | ||
| qtmr_primary_count_source_t | prescaler | ||
| ) |
| base | Quad Timer peripheral base address |
| channel | Quad Timer channel number |
| prescaler | Set prescaler value |