Module rp2040_pac::timer[][src]

Expand description

Controls time and alarms\n time is a 64 bit value indicating the time in usec since power-on\n timeh is the top 32 bits of time & timel is the bottom 32 bits\n to change time write to timelw before timehw\n to read time read from timelr before timehr\n An alarm is set by setting alarm_enable and writing to the corresponding alarm register\n When an alarm is pending, the corresponding alarm_running signal will be high\n An alarm can be cancelled before it has finished by clearing the alarm_enable\n When an alarm fires, the corresponding alarm_irq is set and alarm_running is cleared\n To clear the interrupt write a 1 to the corresponding alarm_irq

Modules

alarm0

Arm alarm 0, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM0 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

alarm1

Arm alarm 1, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM1 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

alarm2

Arm alarm 2, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM2 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

alarm3

Arm alarm 3, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM3 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

armed

Indicates the armed/disarmed status of each alarm.\n A write to the corresponding ALARMx register arms the alarm.\n Alarms automatically disarm upon firing, but writing ones here\n will disarm immediately without waiting to fire.

dbgpause

Set bits high to enable pause when the corresponding debug ports are active

inte

Interrupt Enable

intf

Interrupt Force

intr

Raw Interrupts

ints

Interrupt status after masking & forcing

pause

Set high to pause the timer

timehr

Read from bits 63:32 of time\n always read timelr before timehr

timehw

Write to bits 63:32 of time\n always write timelw before timehw

timelr

Read from bits 31:0 of time

timelw

Write to bits 31:0 of time\n writes do not get copied to time until timehw is written

timerawh

Raw read from bits 63:32 of time (no side effects)

timerawl

Raw read from bits 31:0 of time (no side effects)

Structs

RegisterBlock

Register block

Type Definitions

ALARM0

Arm alarm 0, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM0 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

ALARM1

Arm alarm 1, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM1 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

ALARM2

Arm alarm 2, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM2 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

ALARM3

Arm alarm 3, and configure the time it will fire.\n Once armed, the alarm fires when TIMER_ALARM3 == TIMELR.\n The alarm will disarm itself once it fires, and can\n be disarmed early using the ARMED status register.

ARMED

Indicates the armed/disarmed status of each alarm.\n A write to the corresponding ALARMx register arms the alarm.\n Alarms automatically disarm upon firing, but writing ones here\n will disarm immediately without waiting to fire.

DBGPAUSE

Set bits high to enable pause when the corresponding debug ports are active

INTE

Interrupt Enable

INTF

Interrupt Force

INTR

Raw Interrupts

INTS

Interrupt status after masking & forcing

PAUSE

Set high to pause the timer

TIMEHR

Read from bits 63:32 of time\n always read timelr before timehr

TIMEHW

Write to bits 63:32 of time\n always write timelw before timehw

TIMELR

Read from bits 31:0 of time

TIMELW

Write to bits 31:0 of time\n writes do not get copied to time until timehw is written

TIMERAWH

Raw read from bits 63:32 of time (no side effects)

TIMERAWL

Raw read from bits 31:0 of time (no side effects)