Как использовать библиотеку времени в Arduino? - PullRequest
2 голосов
/ 20 января 2020

Я пытаюсь загрузить эту простую программу в Arduino, которая получает часы:

#include <Time.h>

time_t nowTime;

void setup() {
    nowTime = now();
}

Однако, она не компилируется:

exit status 1
'now' was not declared in this scope

Почему now() не заявлено в этой области? Файл Time.h был включен. Так почему бы не объявить now()? Как я могу обойти это?

1 Ответ

2 голосов
/ 20 января 2020

Сбой компиляции, потому что файл Time.h, который находит компилятор, не имеет ничего общего с библиотеками времени, такими как Paul Stoffregen (https://github.com/PaulStoffregen/Time).

Я попробовал ваш Sketch, скомпилированный для Arduino Uno, и увидел ту же ошибку, которую вы видите: этот Time.h разрешает (файл где-то существует), но сейчас () не определяется этим Time.h

После поиска в моем Windows P C Некоторое время я наконец нашел то, что, как мне кажется, файл, который #include включает в мою установку: C: \ Users \ Brad \ AppData \ Local \ Arduino15 \ packages \ arduino \ hardware \ avr \ 1.8.2 \ firmwares \ wifishield \ wifiHD \ src \ time.h или, возможно, C: \ Users \ Brad \ AppData \ Local \ Arduino15 \ packages \ arduino \ tools \ avr-gcc \ 7.3.0-atmel3.6.1- arduino5 \ avr \ include \ time.h

Ни один из этих файлов не определяет функцию now ().

Если вы хотите использовать библиотеку времени Пола Стоффрегена, скачайте и установите ее с https://github.com/PaulStoffregen/Time. Если вместо этого вы хотите sh использовать библиотеку времени Майкла Марголиса, вы можете найти и установить ее в IDE Arduino, в разделе Инструменты / Управление библиотеками ... и введя "Время" (без кавычек) в поисковом запросе.

Как уже отмечали другие, среда Arduino не всегда знает текущую дату и время. Функции mills () и micros () возвращают количество миллисекунд или микросекунд, соответственно, с момента загрузки Arduino. Для того, чтобы просто посмотреть на течение времени, большинство людей используют millis () или micros () вместо более сложной библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...