цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Многозадачность с использованием двух ядер Raspberry Pi Pico в среде Arduino IDE



Многозадачность с использованием двух ядер Raspberry Pi Pico в среде Arduino IDE

Автор: Mike(admin) от 31-03-2023, 03:55

Даже если вы новичок в работе с Raspberry Pi Pico, но понимание того, что в микроконтроллере RP2040 есть два ядра наводит на мысли, что скорость обработки в сочетании с наличием двух ядер может обеспечить интересный потенциал по сравнению со многими семействами плат Arduino.


Многозадачность с использованием двух ядер Raspberry Pi Pico в среде Arduino IDE

Но для того, чтобы иметь возможность делегировать различные задачи 2 ядрам путем передачи информации, полученной во время их соответствующей обработки, необходимо иметь систему обмена сообщениями и синхронизации. В связи с этим в данном материале мы покажем основы реализации двухъядерной многозадачности при программировании Raspberry Pi Pico в среде Arduino IDE.


Мы покажем решение, в котором размер буферов данных обмена мог бы быть потенциально ограничен только доступной памятью. Итак, для начала создайте следующий экземпляр:



#define PICO_EMPTY true
PicoSem Sem(PICO_EMPTY,PICO_EMPTY);

И затем вы можете использовать следующие вызовы, помня, что допустимые значения параметра core равны 0 и 1:


void setDataEmptyFor(uint8_t core);

Вызывается, чтобы сказать, что буфер данных для ядра core пуст, поэтому готов принять новый набор данных:


bool canISendTo(uint8_t core);

Вернется true, если мы можем отправить новый набор данных в ядро core.


void setDataReadyFor(uint8_t core);

Вызывается, чтобы сказать, что мы только что написали новый набор данных для ядра:


void setDataReadBy(uint8_t core);

Вызывается, чтобы сказать, что мы только что прочитали последний набор данных:


bool anyDataFor(uint8_t core);

Вернется true, если есть новый набор данных, готовый для ядра core.




© digitrode.ru


Теги: Raspberry Pi Pico, Arduino




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий