В качестве примера работы 2 ядер платы ESP32 обычно приводится пример работы двух независимых программ по одной на каждом ядре. Но я не встречал примера работы, когда программа на одном ядре передает значение переменных программе на другом ядре.
В общем у меня вопрос. Переменная С1 считается на 1 ядре. Переменная Т1 считается на втором ядре. Как на 2 ядре вывести одновременно значение переменных С1 и Т1? У меня Т1 выводится, а С1 =0.
TaskHandle_t Task0; //
uint32_t c1; //
uint64_t t1,led; //
//------------------------------------------------------------------------------------//
void setup() //
{ //
disableCore0WDT(); //
Serial.begin(115200); //
//create a task that will be executed in the Task0code() function //
xTaskCreatePinnedToCore //
( //
Task0code, //Функция для реализации задачи //
"Task0", //Название задачи //
10000, //Размер стека //
NULL, //Входной параметр задачи //
1, //Приоритет задачи //
&Task0, //Дескриптор задачи //
0 //Ядро, в котором должна выполняться задача //
); //
} //
//Task0code: -------------------------------------------------------------------------//
void Task0code( void * pvParameters ) //
{ //
for(;;) //
{c1 = esp_cpu_get_cycle_count();} //
} //
//------------------------------------------------------------------------------------//
void loop() //
{ //
t1 = esp_timer_get_time()/1000; //количество милисекунд //
if ((t1-led)>=1000) //
{ //
led=t1; //
Serial.print(" t1= ");Serial.print(t1);Serial.print(" c1= ");Serial.println(c1); //
} //
} //