Да използвам темата за въпроси.
Платката е XIAO ESP32-S3 (SENSE) + ARDUINO IDE 2.3.3 + ESP32 3.0.5.
ESP32-S3 има USB и 3 х UART, достъпни като Serial, Serial0, Serial1 и Serial2.
3 х UART имат общ буфер с размер 1024 байта, разделен на 8 блока по 128 байта, мапнати както следва:
UART_0_TX_FIFO
UART_1_TX_FIFO
UART_2_TX_FIFO
RESERVED
UART_0_RX_FIFO
UART_1_RX_FIFO
UART_2_RX_FIFO
RESERVED
Съответните буфери могат да бъдат разширявани за сметка на останалите под тях до края на общия буфер, т.е.:
UART_0_TX_FIFO от 1 до 8 блока
UART_1_TX_FIFO от 1 до 7 блока
UART_2_TX_FIFO от 1 до 6 блока
RESERVED
UART_0_RX_FIFO от 1 до 4 блока
UART_1_RX_FIFO от 1 до 3 блока
UART_2_RX_FIFO от 1 или 2 блока
RESERVED
За задаване на размера използвам Serialх.setTxBufferSize(...);
За проверка използвам Serialх.availableForWrite();
Дори да задам
Serial0.setTxBufferSize(1024);
Serial1.setTxBufferSize(1024);
Serial2.setTxBufferSize(1024);
програмата се компилира и проверката показва същите стойности, което за Serial 1 и 2 е невъзмоно???
USB допуска Serial.setRxBufferSize(128, 256 или 384); и действително е толкова - при предаване на дълъг стринг през серийния монитор, стринга се приема точно до размера на зададения размер на буфера. Нещо не схващам, но какво
Другото е тривиалния въпрос ESP32 Arduino core, ESP-IDF или Микро Питон?
Ще ползам камерата, цифров микрофон, SD карта, накои I2C сензори и през UART - GSM и GPS.