Возможный способ достижения подходящей задержки — использовать ожидание занятости, однако
Каковы преимущества и недостатки использования подхода с ожиданием занятости или прерыванием по таймеру при программировании?
Недостатком ожидания занятости во встроенных устройствах является повышенное энергопотребление. В состоянии ожидания процессор работает на полную мощность, потребляя энергию без результата. Большинство процессоров с низким энергопотреблением имеют возможность переводить процессор в спящий режим в ожидании прерывания по таймеру, что значительно снижает энергопотребление. Более низкое энергопотребление = более длительное время автономной работы.
Их, наверное, много, я постараюсь рассмотреть то, что мне кажется наиболее важным.
Преимущества занятого ожидания:
Недостатки:
Если вам не нужно больше ничего делать в вашем приложении или результат должен быть обработан немедленно (что довольно редко), вы не захотите долго ждать. Он съедает циклы, которые можно использовать, делая что-то еще или спать.
Простой пример, скажем, вы делаете термостат Wi-Fi, который связывается с чипом Wi-Fi через UART. Ваше приложение должно будет считывать и обрабатывать температуру, обновлять при появлении новых данных, отправлять сообщения Wi-Fi, получать сообщения Wi-Fi и получать обновления от нажатия кнопок, и это лишь некоторые из них. Если вы заняты ожиданием того, чтобы что-то из этого произошло, тогда ваш термостат не сможет ничего сделать, пока он не прервется.