Я работаю над программой для Light Blue Bean (периферийное устройство BLE), которая передает последовательную информацию каждые ~ 100 мс. Если с помощью встроенного акселерометра в течение последних 5 секунд не было обнаружено никаких движений, Бин переходит в режим сна, пока его снова не разбудит движение.
Теперь программа в настоящее время спит оставшиеся миллисекунды, оставшиеся на каждой итерации цикла, до тех пор, пока она не будет снова передана, например:
запуск цикла -> последовательная передача [каждые 100 мс] -> запуск цикла -> 80 мс до того, как он снова должен быть передан -> сон 80 мс -> последовательная передача и т. д.
Эффективен ли сон на оставшиеся 80 мс в виде сохранения силы? Или сила, сохраняемая этим, ничтожна?
Задача ещё не решена.
Других решений пока нет …