• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Результаты поиска

  1. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Да можно, конечно. Но Вам надо будет писать ISR, настраивать таймер - т.е. делать некое подобие своей ОСРВ. Рыться в документации - вспоминать как это делается. А если обработчик не просто блинкает, а делает что-то миллисекунд 40? В ISR это приведет к потере каких-нибудь прерываний... Но это...
  2. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    :):):) Вот простейшая задача: мигать тремя светодиодами каждым со своей некратной частотой. На некоей ОСРВ такая задача выглядит примерно так: static int Blink(int N, int M) { for(;;) { toggle(N); taskDelay(M); } } int main() { taskSpawn("Blink1",Blink,1, 50); // Мигать 1 светодиодом с...
  3. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Поделитесь опытом, как в Винде обработать прерывание в пользовательской задаче? o_O
  4. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Так я Вам про известные принципы и толкую!:) Дело только в терминологии. Я пользуюсь терминологией встраиваемых операционных систем реального времени. Так, для примера, наш с Вами esp8266 принимает пакеты по WiFi в то время, как пользователь мигает светодиодом. И эти два дела он прекрасно...
  5. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Почему Вы считаете, что обработчики прерываний и колбеков не создают отдельные потоки? Это справедливо для ОС типа Виндовс и Линукс. Для любых ОСРВ потоки могут находиться в состоянии ожидания событий (в частности прерываний или колбеков) через семафоры.
  6. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Да, это так работает в ОС типа Windows или Linux. Именно поэтому они и не являются системами жесткого реального времени. Каждый поток получает управление только в свой квант времени. Нет механизмов для пользователя активировать поток строго по событию. Внутренние системные драйверы работают...
  7. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Не совсем так. Альтернативный вариант - использование механизма прерываний. Чтобы проиграть звуковой фрагмент достаточно разместить в памяти массив аудиоданных и дать звуковой подсистеме команду проиграть этот фрагмент. После этого можно переключиться на другую задачу. То же самое с сетевой...
  8. G

    SDIO Client

    По SDIO можно получить около 50 Мбит/сек. По HSPI у меня средняя скорость получается около 12 Мбит/сек. Очень просто: программирую esp на выдачу пакета размером 1300 байт по SPI в вечном цикле (цикле loop для arduino). На приемной стороне принимаю пакеты и считаю, сколько байт приходит за...
  9. G

    SDIO Client

    Вы считаете, что программный код в ESP исполняется прямо из флеш? При запуске ESP происходит копирование программного кода из флеш в ОЗУ, после этого флеш вообще не нужна.
  10. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    В один момент времени будет работать только один поток, это так. Но при этом каждый поток не ждет завершения другого. Вы же можете на компьютере одновременно слушать музыку, набирать текст в Word и отправлять в интернет здоровенный файл. При этом ни одно из этих действий не будет притормаживаться.
  11. G

    SDIO Client

    Странный вопрос! Я начал тему с того, что спросил, можно ли задействовать SDIO. Сейчас (не от хорошей жизни) использую HSPI, но хотелось бы использовать SDIO, т.к. это гораздо более быстрый интерфейс. Никто так и не помог с этим...
  12. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Вы утверждаете, что два потока не могут быть параллельно запущены на одном процессорном ядре. Тогда что-же будет, если функцию createThread() - создание потока в Windows API - вызвать несколько раз подряд на одноядерном компе? ;)
  13. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Все-таки, если оставить терминологические споры и вернуться к вопросу топикстартера: Требуется сделать так, чтобы светодиод мигал (или делалось еще что-либо на фоне работы Web-сервера). Для этого есть самый простой путь, если ESP работает под управлением RTOS. Если мы хотим, чтобы это работало...
  14. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Ну хорошо, тогда что Вы понимаете под потоком (thread) и задачей (task, process)? Один процесс, приложение, задача как правило, имеет один или несколько потоков. И это не зависит от количества ядер. На одном вычислительном ядре Вы прекрасно можете смотреть художественный фильм со звуком. При...
  15. G

    SDIO Client

    SDIO - это протокол обмена контроллера с периферией, более быстрый, чем SPI за счет того, что используются параллельно четыре линии данных. С помощью SDIO подключается не только флеш, но и большинство WiFi-модулей. Просто разобраться с тем, как работает готовый модуль WiFi по SDIO я чего-то не...
  16. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Так как же соотносятся эти Ваши два взаимопротивоположных высказывания:
  17. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Разряд? ;) А про таблицы дескрипторов задач слышали? Про таблицы виртуальных адресов?Про блоки управления задачами? Это огромная подсистема, а не "разряд управления памятью". Чем-же по-вашему отличается многозадачность от многопоточности? Что делает по-вашему функция createThread() в WinAPI...
  18. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Извините, но Вы говорите полную ерунду! Многоядерные процессоры появились сравнительно недавно, а вот многозадачные операционные системы - еще в середине прошлого века! Вы что-нибудь слышали о переключении контекста процессора? Еще Intel 386 уже имел аппаратную поддержку этого. Не так давно...
  19. G

    Нужна помощь МНОГОПОТОЧНОСТЬ

    Я не имею опыта работы с esp - только сейчас начал с ней возиться. Но поскольку есть версии ПО на базе FreeRTOS, то смею предположить, что это вполне возможно. Драйвера WiFi тоже работают по прерываниям, поэтому главное, чтобы обработчики прерываний занимали достаточно короткое время, чтобы не...
  20. G

    SDIO Client

    С чего это флеш? Естественно, SPI: SPI.begin(); SPI.setFrequency(40000000); По умолчанию используется HSPI.
Сверху Снизу