Где эта функция определена?
Это код для примера таймера в esp8266..(получен с веб-сайта)
Я сомневаюсь, где определена функция timer1_enable(TIM_DIV16, TIM_EDGE, TIM_SINGLE)?? Я смотрю в Ticker.cpp, но не нашел.
#include < ESP8266WiFi.h>
#include < Ticker.h >
Ticker blinker;
#define LED 2 //Бортовой светодиод
//=======================================================================
void ICACHE_RAM_ATTR onTimerISR(){
digitalWrite(LED,!(digitalRead(LED))); //Toggle LED Pin
timer1_write(600000);//12us
}
void setup()
{
Serial.begin(115200);
Serial.println("");
pinMode(LED,OUTPUT);
//Инициализировать Тикер каждые 0,5 с
timer1_attachInterrupt(onTimerISR);
timer1_enable(TIM_DIV16, TIM_EDGE, TIM_SINGLE);
timer1_write(600000); //120000 us
}
void loop()
{
}
@ravi s, 👍1
Обсуждение1 ответ
▲ 2
Эти функции не имеют ничего общего с библиотекой тикеров. Эти функции определены в ядре ESP8266.
В приведенном вами примере вверху есть следующее:
Аппаратный Timer0 используется функциями Wi-Fi. Мы можем использовать только Timer1. Использование таймера вместо тикера дает преимущество точного хронометража, и вы можете получить прерывание таймера за микросекунды.
Обратите внимание на использование там "вместо тикера". Это говорит о том, что приведенный ниже код не имеет ничего общего с Тикером.
,
@Majenko
Смотрите также:
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Нашел ваш пример кода [здесь](https://circuits4you.com/2018/01/02/esp8266-timer-ticker-example/). Пожалуйста, всегда указывайте ссылку, когда вы задаете вопросы о коде из Интернета., @chrisl
Также обратите внимание, что в C++ тривиальные функции иногда полностью реализуются в файле .h, поэтому поиск в файле .cpp может не выявить никакого кода. Это особенно характерно для функций доступа ("сеттеров" и "геттеров"), где определение функции занимает не больше места (или совсем немного больше), чем объявление., @JRobert