 |
MAX32675 Peripheral Driver API
Peripheral Driver API for the MAX32675
|
44 #include "mxc_device.h"
141 typedef void (*mxc_tmr_complete_t) (
int error);
@ TMR_MODE_ONESHOT
Timer Mode ONESHOT.
Definition: tmr.h:84
#define MXC_S_TMR_CTRL0_MODE_A_CONTINUOUS
Definition: tmr_regs.h:186
uint32_t MXC_TMR_GetCompare(mxc_tmr_regs_t *tmr)
Get the timer compare count.
#define MXC_S_TMR_CTRL0_MODE_A_COMPARE
Definition: tmr_regs.h:194
mxc_tmr_pres_t pres
Desired timer prescaler.
Definition: tmr.h:132
#define MXC_S_TMR_CTRL0_MODE_A_CAPCOMP
Definition: tmr_regs.h:198
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_4096
Definition: tmr_regs.h:231
@ MXC_TMR_EXT_CLK
External Clock.
Definition: tmr.h:121
void MXC_TMR_ClearFlags(mxc_tmr_regs_t *tmr)
Clear the timer interrupt.
mxc_tmr_clock_t
Clock settings.
Definition: tmr.h:119
@ MXC_TMR_32M_CLK
32MHz Clock
Definition: tmr.h:123
uint32_t MXC_TMR_GetFlags(mxc_tmr_regs_t *tmr)
Get the timer interrupt status.
@ TMR_PRES_16
Divide input clock by 16.
Definition: tmr.h:69
@ TMR_MODE_PWM
Timer Mode PWM.
Definition: tmr.h:87
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_8
Definition: tmr_regs.h:213
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_512
Definition: tmr_regs.h:225
@ TMR_PRES_256
Divide input clock by 256.
Definition: tmr.h:73
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_16
Definition: tmr_regs.h:215
int MXC_TMR_TO_Check(mxc_tmr_regs_t *tmr)
Check on time out timer.
unsigned int MXC_TMR_SW_Stop(mxc_tmr_regs_t *tmr)
Stopwatch stop.
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_128
Definition: tmr_regs.h:221
@ TMR_MODE_CAPTURE_COMPARE
Timer Mode CAPTURECOMPARE.
Definition: tmr.h:91
unsigned pol
Polarity (0 or 1)
Definition: tmr.h:137
void MXC_TMR_Shutdown(mxc_tmr_regs_t *tmr)
Shutdown timer module clock.
@ MXC_TMR_APB_CLK
PCLK CLock
Definition: tmr.h:120
@ TMR_MODE_COUNTER
Timer Mode COUNTER.
Definition: tmr.h:86
@ TMR_PRES_4096
Divide input clock by 4096.
Definition: tmr.h:77
@ TMR_PRES_64
Divide input clock by 64.
Definition: tmr.h:71
mxc_tmr_mode_t mode
Desired timer mode.
Definition: tmr.h:133
#define MXC_S_TMR_CTRL0_MODE_A_ONE_SHOT
Definition: tmr_regs.h:184
void MXC_TMR_SetCompare(mxc_tmr_regs_t *tmr, uint32_t cmp_cnt)
Set the timer compare count.
@ TMR_PRES_2
Divide input clock by 2.
Definition: tmr.h:66
uint32_t MXC_TMR_GetPeriod(mxc_tmr_regs_t *tmr, mxc_tmr_clock_t clock, uint32_t prescalar, uint32_t frequency)
Calculate count for required frequency.
@ TMR_UNIT_MICROSEC
Microsecond Unit Indicator.
Definition: tmr.h:109
@ TMR_PRES_8
Divide input clock by 8.
Definition: tmr.h:68
@ TMR_UNIT_SEC
Second Unit Indicator.
Definition: tmr.h:111
void MXC_TMR_TO_Start(mxc_tmr_regs_t *tmr, unsigned long us)
Start a timer that will time out after a certain number of microseconds.
@ TMR_MODE_CAPTURE
Timer Mode CAPTURE.
Definition: tmr.h:88
#define MXC_S_TMR_CTRL0_MODE_A_CAPTURE
Definition: tmr_regs.h:192
@ TMR_PRES_2048
Divide input clock by 2048.
Definition: tmr.h:76
@ TMR_UNIT_MILLISEC
Millisecond Unit Indicator.
Definition: tmr.h:110
mxc_tmr_mode_t
Timer modes.
Definition: tmr.h:83
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_1024
Definition: tmr_regs.h:227
@ MXC_TMR_80K_CLK
80KHz Clock
Definition: tmr.h:125
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_1
Definition: tmr_regs.h:207
@ TMR_PRES_512
Divide input clock by 512.
Definition: tmr.h:74
@ TMR_PRES_4
Divide input clock by 4
Definition: tmr.h:67
void MXC_TMR_EnableInt(mxc_tmr_regs_t *tmr)
enable interupt
unsigned int MXC_TMR_TO_Elapsed(mxc_tmr_regs_t *tmr)
Get elapsed time of timeout timer.
mxc_tmr_pres_t
Timer prescaler values.
Definition: tmr.h:64
@ TMR_MODE_CONTINUOUS
Timer Mode CONTINUOUS.
Definition: tmr.h:85
Timer Configuration.
Definition: tmr.h:131
uint32_t cmp_cnt
Compare register value in timer ticks.
Definition: tmr.h:136
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_32
Definition: tmr_regs.h:217
mxc_tmr_bit_mode_t
Timer bit mode.
Definition: tmr.h:98
void MXC_TMR_Delay(mxc_tmr_regs_t *tmr, unsigned long us)
Dealay for a set periord of time measured in microseconds.
#define MXC_S_TMR_CTRL0_MODE_A_PWM
Definition: tmr_regs.h:190
#define MXC_S_TMR_CTRL0_MODE_A_GATED
Definition: tmr_regs.h:196
@ TMR_PRES_128
Divide input clock by 128.
Definition: tmr.h:72
void MXC_TMR_DisableWakeup(mxc_tmr_regs_t *tmr, mxc_tmr_cfg_t *cfg)
Disable wakeup from sleep.
@ MXC_TMR_32K_CLK
32KHz Clock
Definition: tmr.h:124
void MXC_TMR_SetCount(mxc_tmr_regs_t *tmr, uint32_t cnt)
Set the timer count.
void MXC_TMR_TO_Stop(mxc_tmr_regs_t *tmr)
Stop the Timeout timer.
@ TMR_UNIT_NANOSEC
Nanosecond Unit Indicator.
Definition: tmr.h:108
@ TMR_PRES_1
Divide input clock by 1.
Definition: tmr.h:65
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_256
Definition: tmr_regs.h:223
@ TMR_BIT_MODE_16A
Timer Mode Lower 16 bit.
Definition: tmr.h:100
@ TMR_BIT_MODE_16B
Timer Mode Upper 16 bit.
Definition: tmr.h:101
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_2048
Definition: tmr_regs.h:229
void MXC_TMR_SW_Start(mxc_tmr_regs_t *tmr)
Start stopwatch.
int MXC_TMR_Init(mxc_tmr_regs_t *tmr, mxc_tmr_cfg_t *cfg, bool init_pins)
Initialize timer module clock.
mxc_tmr_bit_mode_t bitMode
Desired timer bits
Definition: tmr.h:134
void MXC_TMR_Start(mxc_tmr_regs_t *tmr)
Start the timer counting.
unsigned int MXC_TMR_TO_Remaining(mxc_tmr_regs_t *tmr)
Amount of time remaining until timeour.
Definition: tmr_regs.h:88
uint32_t MXC_TMR_GetCapture(mxc_tmr_regs_t *tmr)
Get the timer capture count.
void MXC_TMR_TO_Clear(mxc_tmr_regs_t *tmr)
Clear timeout timer back to zero.
@ TMR_MODE_GATED
Timer Mode GATED.
Definition: tmr.h:90
@ MXC_TMR_8M_CLK
8MHz Clock
Definition: tmr.h:122
@ TMR_PRES_32
Divide input clock by 32.
Definition: tmr.h:70
#define MXC_S_TMR_CTRL0_MODE_A_COUNTER
Definition: tmr_regs.h:188
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_2
Definition: tmr_regs.h:209
void MXC_TMR_DisableInt(mxc_tmr_regs_t *tmr)
disable interupt
@ TMR_PRES_1024
Divide input clock by 1024.
Definition: tmr.h:75
mxc_tmr_clock_t clock
Desired clock source.
Definition: tmr.h:135
@ TMR_BIT_MODE_32
Timer Mode 32 bit
Definition: tmr.h:99
void MXC_TMR_EnableWakeup(mxc_tmr_regs_t *tmr, mxc_tmr_cfg_t *cfg)
Enable wakeup from sleep.
@ TMR_MODE_COMPARE
Timer Mode COMPARE.
Definition: tmr.h:89
int MXC_TMR_SetPWM(mxc_tmr_regs_t *tmr, uint32_t pwm)
Set the value of the first transition in PWM mode.
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_4
Definition: tmr_regs.h:211
mxc_tmr_unit_t
Timer units of time enumeration.
Definition: tmr.h:107
int MXC_TMR_GetTime(mxc_tmr_regs_t *tmr, uint32_t ticks, uint32_t *time, mxc_tmr_unit_t *units)
Get time from timer.
void MXC_TMR_Stop(mxc_tmr_regs_t *tmr)
Stop the timer.
uint32_t MXC_TMR_GetCount(mxc_tmr_regs_t *tmr)
Get the timer count.
#define MXC_S_TMR_CTRL0_CLKDIV_A_DIV_BY_64
Definition: tmr_regs.h:219