关于RMT的问题
-
- Posts: 118
- Joined: Tue Jun 26, 2018 3:09 am
Re: 关于RMT的问题
Hi, 由于 ESP32 RMT 每个接收和发送模块默认的 memory 是一个 block 大小, 最多只能接收 63 个序列. 所以 64bit 是无法被接收的.
但是通道的大小是可以拓展的, 比如通道 0 可以占用 通道 1 的 memory, 这样可以接收超过 63 个序列.
你需要设置 ' uint8_t mem_block_num;' 这个参数为2.
注意通道1 的memory 被通道 0 占用后, 通道 1 将不能使用.
但是通道的大小是可以拓展的, 比如通道 0 可以占用 通道 1 的 memory, 这样可以接收超过 63 个序列.
Code: Select all
typedef struct {
rmt_mode_t rmt_mode; /*!< RMT mode: transmitter or receiver */
rmt_channel_t channel; /*!< RMT channel */
uint8_t clk_div; /*!< RMT channel counter divider */
gpio_num_t gpio_num; /*!< RMT GPIO number */
uint8_t mem_block_num; /*!< RMT memory block number */
union{
rmt_tx_config_t tx_config; /*!< RMT TX parameter */
rmt_rx_config_t rx_config; /*!< RMT RX parameter */
};
} rmt_config_t;
注意通道1 的memory 被通道 0 占用后, 通道 1 将不能使用.
wookooho
Who is online
Users browsing this forum: Google [Bot], weddawd and 38 guests