что то не слышал о таком. Можно задать старт в другом режиме загрузки, это да. Но на WIFI это не влияет.
на аналоговом входе ВСЕГДА присутствует сигнал. При каком именно сигнале на входе у вас не работает?
Приведите схему и ваш код. Скорее всего дело не в ESP.
NodeMCU используется с моторшилдом с контролем положения механизма потенциометром. Работу потенциометра проверял через Com порт. Для отладки использую приложение RemoteXY. При выяснении причин неполадки отсоединил NodeMCU от шилда, питание через usb, и исключал из кода все строки по очереди. В приведенном коде одна закоментированная строка (считывание аналогового выхода), которая и влияет будет ли работать точка доступа или нет. В режиме клиента через роутер и приложение Blynk все работает.
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
int Servo_Set, pol;
extern "C" {
#include "user_interface.h";
}
#define REMOTEXY_WIFI_SSID "Kotel2"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {255, 2, 0, 0, 0, 12, 0, 13, 13, 1, 7, 53, 21, 21, 20, 5, 2, 26, 2};
struct {
int16_t edit_1;
unsigned char connect_flag;
} RemoteXY;
#pragma pack(pop)
void setup() {
Serial.begin(115200);
RemoteXY_Init ();
pinMode(0, OUTPUT);
digitalWrite(0, 0);
}
void loop() {
RemoteXY_Handler ();
Servo_Set = (RemoteXY.edit_1);
// pol = map(analogRead(0), 0, 1023, -20, 187);
Serial.println(pol);
if ((Servo_Set - pol) > 0) {
analogWrite(5, 1023);
digitalWrite(0, 0);
} else if ((Servo_Set - pol) < 0) {
analogWrite(5, 1023);
digitalWrite(0, 1);
} else {
analogWrite(5, 0);
digitalWrite(0, 0);
}
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}