esp-idf/examples/system/select
Song Ruo Jing bc09031496 refactor(uart_vfs): Move uart implementation of vfs to esp_driver_uart
Deprecated esp_vfs_dev_uart_xxx APIs
vfs_uart test case moved to esp_driver_uart test_apps
Astyle fixed for uart_vfs
2023-12-15 17:14:55 +08:00
..
main refactor(uart_vfs): Move uart implementation of vfs to esp_driver_uart 2023-12-15 17:14:55 +08:00
CMakeLists.txt tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
pytest_select.py ci(system): restrict number of system examples built in regular pipelines 2023-10-19 10:10:37 +08:00
README.md ci(system): restrict number of system examples built in regular pipelines 2023-10-19 10:10:37 +08:00
sdkconfig.ci example_tests: Deletes usage esp32c3 ECO0 in CI (by default ECO3) 2021-09-24 13:55:07 +08:00

Supported Targets ESP32 ESP32-C2 ESP32-C3 ESP32-C6 ESP32-H2 ESP32-P4 ESP32-S2 ESP32-S3

Synchronous I/O multiplexing example

The example demonstrates the use of synchronous I/O multiplexing by the select() function with UART and socket file descriptors. The example starts three tasks:

  1. The first task writes periodically to the UART1 file descriptor.
  2. The second task writes periodically to the socket descriptor.
  3. Both UART1 and the socket are configured to act as loopbacks. The third task detects by the use of select() whether it is possible to read from UART1 or the socket, and receives the sent messages from the other tasks.

See the README.md file in the upper level 'examples' directory for more information about examples.