У меня есть плата разработки ESP8266 NodeMCU 12E, и я использую Arduino IDE.Я пытаюсь использовать Ticker.h
для последовательной выборки аналогового входа на частоте 10 кГц, что составляет одну выборку каждые 100 мкс.Я заметил, что Ticker sampler; sampler.attach(0.0001,callbackfunc);
не работает, потому что attach()
не примет значение 0,0001.
Итак, я написал следующий код на основе некоторых руководств, которые я видел:
#include <ESP8266WiFi.h>
#include <Ticker.h>
bool s = true;
void getSample()
{
s = !s;
}
Ticker tickerObject(getSample, 100, 0, MICROS_MICROS);
const char *ssid = "___"; // Change it
const char *pass = "___"; // Change it
void setup()
{
Serial.begin(115200);
Serial.println(0); //start
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
tickerObject.start();
}
void loop()
{
if(s == true)
{
Serial.println("True");
}
else
{
Serial.println("False");
}
}
Однако, это не скомпилировано, потому что tickerObject.start()
метод не существует.Итак, я сделал следующее:
- Загрузите последний пакет тикеров в виде zip-файла
- Распакуйте пакет из пункта 1
- Сделанорезервное копирование
C:\Users\john\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0-beta2\libraries\Ticker
- Заменил папку, упомянутую в пункте 3, на папку Ticker в пункте 2.
- Перезапустил мою Arduino IDE
- Скомпилировал и запустил код
- Открыт последовательный монитор
Однако, когда я проверяю последовательный монитор, все, что он печатает, это "True".Я ожидал, что значение s
будет переключаться между истиной и ложью с частотой 10 кГц.
Что я сделал не так?