Internal and Unstable APIs

This section is listing some APIs that are internal or likely to be changed or removed in the next releases of ESP-IDF.

API Reference

Functions

int esp_rom_printf(const char *fmt, ...)

Print formated string to console device.

备注

float and long long data are not supported!

参数
  • fmt – Format string

  • ... – Additional arguments, depending on the format string

返回

int: Total number of characters written on success; A negative number on failure.

void esp_rom_delay_us(uint32_t us)

Pauses execution for us microseconds.

参数

us – Number of microseconds to pause

void esp_rom_install_channel_putc(int channel, void (*putc)(char c))

esp_rom_printf can print message to different channels simultaneously. This function can help install the low level putc function for esp_rom_printf.

参数
  • channel – Channel number (startting from 1)

  • putc – Function pointer to the putc implementation. Set NULL can disconnect esp_rom_printf with putc.

void esp_rom_install_uart_printf(void)

Install UART1 as the default console channel, equivalent to esp_rom_install_channel_putc(1, esp_rom_uart_putc)

soc_reset_reason_t esp_rom_get_reset_reason(int cpu_no)

Get reset reason of CPU.

参数

cpu_no – CPU number

返回

Reset reason code (see in soc/reset_reasons.h)

void esp_rom_route_intr_matrix(int cpu_core, uint32_t periph_intr_id, uint32_t cpu_intr_num)

Route peripheral interrupt sources to CPU’s interrupt port by matrix.

Usually there’re 4 steps to use an interrupt:

  1. Route peripheral interrupt source to CPU. e.g. esp_rom_route_intr_matrix(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM)

  2. Set interrupt handler for CPU

  3. Enable CPU interupt

  4. Enable peripheral interrupt

参数
  • cpu_core – The CPU number, which the peripheral interupt will inform to

  • periph_intr_id – The peripheral interrupt source number

  • cpu_intr_num – The CPU interrupt number

uint32_t esp_rom_get_cpu_ticks_per_us(void)

Get the real CPU ticks per us.

返回

CPU ticks per us