Crate esp32c3_halsource ·
pub use embedded_hal as ehal;
- Analog to digital (ADC) conversion support.
- Advanced Encryption Standard (AES) support.
- Common module for analog functions
- Debug Assistant
- Clock Control
- Delay driver
- Direct Memory Access Commons
- Minimal startup / runtime for RISC-V CPUs from Espressif
- General Purpose I/Os
- I2C Driver
- I2S Master
- LEDC (LED PWM Controller) peripheral control
- The prelude
- Remote Control Peripheral (RMT)
- Random number generator driver
- RSA Accelerator support.
- Serial Peripheral Interface
- General-purpose timers
- State of the CPU saved when entering exception or interrupt
- Two-wire Automotive Interface (TWAI)
- UART driver
- Uses the
SYSTIMERperipheral for counting clock cycles, as unfortunately the ESP32-C3 does NOT implement the
mcycleCSR, 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.
- 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 to declare the entry point of the program