Страница на этапе разработки
Платы микроконтроллеров ESP32 выпускаются с двумя микропроцессорами Xtensa 32-bit (под номерами 0 и 1), то есть они двухъядерные. При запуске кода из Arduino IDE, по умолчанию используется ядро 1. В данном уроке мы рассмотри, как запускать код на втором ядре параллельно с первым.
Для того, что бы увидеть на каком ядре мы работаем, есть функция: xPortGetCoreID() . Запустив данную функцию мы визуально увидим, на каком ядре мы работаем:
Запустив данный код мы увидим следующее:
Теперь мы с Вами создадим две задачи для разных ядер:
Так же надо учитывать, что система FreeRTOS уже добавлена в ESP32, — подключать библиотеку FreeRTOS не нужно.
Запустив данный код на мониторе порта мы увидим, что теперь используем оба ядра, а не одно: