Зона видимости отправки Post запроса при прерывании
- Войдите на сайт для отправки комментариев
///Функция conected объявлена как глобальная с работой по прерыванию
void ICACHE_RAM_ATTR conected(){ ///проверяет соединение
if (client.connect("192.168.1.50", 8069)) {
Serial.println("Conection TRUE");
}
else{
Serial.println("Conection FALSE");
}
}
///Функция cout объявлена как глобальная с работой по прерыванию, вызывает conected()
void ICACHE_RAM_ATTR cout(){
conected();
}
//***
в void setup()
attachInterrupt(digitalPinToInterrupt(cPin), cout, FALLING); //- по прерыванию
Вопрос!
"Conection TRUE" - если функцию вызывать из любого места программы, кроме как описанного выше.
У меня всегда "Conection FALSE".
Общая задача - крутиться двигатель и нужно каждый 100 оборот отправлять post запрос.
Скорость двигателя не постоянная, иногда останавливается.
Подход в корне неверный.
Такие методы как client.connect() или Serial.print() нельзя использовать в функциях, вызываемых по прерыванию, так как эти методы сами используют прерывания.
Выставляйте в прерывании только переменную-флаг, а сам запрос отправляйте в ЛУПе
Подход в корне неверный.
Такие методы как client.connect() или Serial.print() нельзя использовать в функциях, вызываемых по прерыванию, так как эти методы сами используют прерывания.
Выставляйте в прерывании только переменную-флаг, а сам запрос отправляйте в ЛУПе
Спасибо!