Платы ESP32 выпускаются с двумя микропроцессорами Xtensa 32-bit (0 и 1), то есть они двухъядерные. При запуске кода из Arduino IDE, по умолчанию используется ядро 1. В данном руководстве мы рассмотри, как запускать код на втором ядре параллельно с первым.
Примечание: Не обязательно использовать второе ядро для мультизадачности.
5 комментариев. Оставить новый
” 0); /* Указываем пин для данного ядра */”
Наверно всёже /*Указываем ядро для этой задачи*/”
Вопрос. Правильно ли я понимаю, если ядро 1 – по умолчанию для скетча, то ядро 0 не должно тупо простаивать и по умолчанию скорее всего занято обработкой системного кода связанного с WiFi/Bluetooth и чего-то ещё?
ошибка
‘xPortGetCoreID’ was not declared in this scope
А на каком ядре будут выполняться прерывания? Допустим таймер – на том на котором он был запущен, на случайном или 1?
Здравствуйте!
Прерывания в ESP32 могут выполняться на любом из двух доступных ядер. Обычно, по умолчанию, прерывания обрабатываются на ядре 0, так как это основное ядро, на котором работает операционная система.