15 Remote Control Peripheral (RMT)
entry is sent first and the high entry second.
To transmit more data than can be fitted in the channel's RAM, the wraparound mode can be enabled. In this
mode, when the transmitter has reached the last entry in the channel's memory, it will loop back to the first
byte. To use this mechanism for sending more data than can be fitted in the channel's RAM, fill the RAM with
the initial events and set RMT_CHn_TX_LIM_REG to cause an RMT_CHn_TX_THR_EVENT_INT interrupt before
the wraparound happens. Then, when the interrupt happens, the already sent data should be replaced by
subsequent events, so that when the wraparound happens the transmitter will seamlessly continue sending
the new events.
With or without the wraparound mode enabled, transmission ends when an entry with zero length is encoun-
tered. When this happens, the transmitter will generate an RMT_CHn_TX_END_INT interrupt and return to the
idle state. When a transmitter is in the idle state, the output level defaults to end-mark 0. Users can also
configure
RMT_IDLE_OUT_EN_CHn
The output of the transmitter can be modulated using a carrier wave by setting RMT_CARRIER_EN_CHn. The
carrier frequency and duty cycle can be configured by adjusting the carrier's high and low durations in channel-
clock cycles, in
RMT_CARRIER_HIGH_CHn
15.2.5 Receiver
When
RMT_RX_EN_CHn
input signal edges. These will be written as period/level value pairs to the channel RAM in the same fashion
as the transmitter sends them. Receiving ends, when the receiver detects no change in signal level for more
than
RMT_IDLE_THRES_CHn
RMT_CHn_RX_END_INT_RAW interrupt and return to the idle state.
The receiver has an input signal filter which can be configured using RMT_RX_FILTER_EN_CHn: The filter will
remove pulses with a length of less than
When the RMT module is inactive, the RAM can be put into low-power mode by setting the RMT_MEM_PD
register to 1.
15.2.6 Interrupts
• RMT_CHn_TX_THR_EVENT_INT: Triggered when the amount of data the transmitter has sent matches the
value of RMT_CHn_TX_LIM_REG.
• RMT_CHn_TX_END_INT: Triggered when the transmitter has finished transmitting the signal.
• RMT_CHn_RX_END_INT: Triggered when the receiver has finished receiving a signal.
15.3 Register Summary
Name
Configuration registers
RMT_CH0CONF0_REG
RMT_CH0CONF1_REG
RMT_CH1CONF0_REG
RMT_CH1CONF1_REG
RMT_CH2CONF0_REG
RMT_CH2CONF1_REG
Espressif Systems
and
RMT_IDLE_OUT_LV_CHn
and RMT_CARRIER_LOW_CHn.
is set to 1, the receiver in channel
channel clock ticks. The receiver will write a final entry with 0 period, generate an
RMT_RX_FILTER_THRES_CHn
Description
Channel 0 config register 0
Channel 0 config register 1
Channel 1 config register 0
Channel 1 config register 1
Channel 2 config register 0
Channel 2 config register 1
Submit Documentation Feedback
to control the output level manually.
n
becomes active, measuring the duration between
in APB clock periods.
410
Address
Access
0x3FF56020
R/W
0x3FF56024
R/W
0x3FF56028
R/W
0x3FF5602C
R/W
0x3FF56030
R/W
0x3FF56034
R/W
ESP32 TRM (Version 5.2)
Need help?
Do you have a question about the ESP32 and is the answer not in the manual?