Crate esp32c3_hal

source ·





  • Uses the SYSTIMER peripheral for counting clock cycles, as unfortunately the ESP32-C3 does NOT implement the mcycle CSR, which is how we would normally do this.
  • RMT peripheral (RMT)
  • Random Number Generator
  • RTC Watchdog Timer
  • General-purpose timer
  • Registers saved in trap handler
  • UART driver


  • Enumeration of CPU cores The actual number of available cores depends on the target.
  • Enumeration of available CPU interrupts. It is possible to create a handler for each of the interrupts. (e.g. interrupt3)
  • Interrupt Error
  • Interrupt kind
  • Interrupt priority levels.


  • Clear a CPU interrupt
  • Disable the given peripheral interrupt.
  • Enables a interrupt at a given priority
  • Enable a CPU interrupt
  • Get status of peripheral interrupts
  • map
    Assign a peripheral interrupt to an CPU interrupt.
  • Set the interrupt kind (i.e. level or edge) of an CPU interrupt
  • Set the priority level of an CPU interrupt

Attribute Macros

  • Attribute to declare the entry point of the program