Как остановить код Arduino через 1 секунду?
Я хочу отправить сообщение NRF24L01 в NRF24L01. Я хочу посмотреть, смогу ли я послать всего одну секунду. Как я могу остановить код через 1 секунду?
@Mahmut Polat, 👍-1
Обсуждение1 ответ
Вы можете использовать различные способы:
Используйте только настройку
Вместо того, чтобы вводить код в функцию цикла
, поместите его в настройку
, которая выполняется только один раз (используйте цикл for, чтобы отправить около 1 секунды.
миллисекунды()
без учета настройки
Лучше использовать функцию millis
и сравнить ее с началом отправки; по истечении 1 секунды ничего не отправляйте и не используйте бесконечный цикл while.
Используйте что-то вроде:
unsigned long time_start;
void setup()
{
// Ваш обычный код
time_start = millis();
}
void setup()
{
if (millis() - time_start >= 1000)
{
while(1) {};
}
// ваш обычный код (который не должен занимать много мс,
// в противном случае приведенный выше код не будет достигнут.
millis(), включая саэтуп
(Спасибо Эдгару Боннету):
void loop()
{
if (millis() >= 1000)
{
while(1) {};
}
}
Это прекратится ровно через 1 с после запуска (исключая настройку
). Он начнет отсчет после начала отсчета миллисекунд, то есть до начала
функции настройки.
На самом деле, ни в одном из вышеперечисленных Arduino "не останавливается", он просто бесконечно ничего не делает (ну, внутренне бесконечно проверяет истинное
состояние, которое никогда не меняется).
Или даже " if (millis >= 1000) exit();"., @Edgar Bonet
@EdgarBonet Спасибо, я добавил это в ответ., @Michel Keijzers
- Как запустить 4 светодиода последовательно на основе кнопочного входа?
- Проблема с последовательностью воздушных поршней
- Печать string and integer LCD
- Почему мои часы реального времени показывают неверное время с моего ПК?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Отправьте несколько значений int из Python в Arduino, используя pySerial
- Глобальные переменные занимают много места в динамической памяти.
- (Код ультразвукового датчика: такого файла или каталога нет)
изучите пример кода, который входит в состав arduino IDE, @jsotola