Это мой код
#include <WiFi.h>
//#include "StepperMotor.h"
#define SDA_PIN 4
#define SCL_PIN 5
const char* ssid = "StepperMotorWireless";
const char* password = "";
WiFiServer server(9090);
WiFiClient client;
char buffer[50] = {0};
int buffercounter = 0;
TaskHandle_t StepperHandler;
TaskHandle_t WifiHandler;
void setup()
{
Serial.begin(9600);
SetWifi(ssid, password);
pinMode(2, OUTPUT);
xTaskCreatePinnedToCore(
StepperLoop, /* Task function. */
"StepperHandler", /* name of task. */
4000, /* Stack size of task */
NULL, /* parameter of the task */
2, /* priority of the task */
&StepperHandler, /* Task handle to keep track of created task */
1); /* pin task to core 0 */
}
void SetWifi(const char* name, const char* password)
{
WiFi.disconnect();
WiFi.mode(WIFI_AP_STA);
WiFi.softAP(name, password);
delay(2000);
IPAddress IP = WiFi.softAPIP();
Serial.print("Server IP : ");
Serial.println(IP);
server.begin();
server.setNoDelay(true);
Serial.println("Server Started");
}
void availableMessage() {
if (client && client.connected() && client.available()) {
while (client.available()) {
String message = client.readStringUntil('\n');
Serial.println(message);
char temp[50];
message.toCharArray(temp, 50);
client.flush();
}
}
}
void connectClient() {
if (server.hasClient())
{
if (client = server.available()) {
Serial.println("connected");
}
}
}
void StepperLoop( void * pvParameters ) {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
void loop()
{
connectClient();
availableMessage();
}
Проблема в том, что мой мигающий светодиод не длится 1 секунду, поэтому что-то его прерывает (по-видимому, это Wi-Fi, потому что это единственное другое, что работает). Это странно, потому что при каждом взгляде на inte rnet задача Wifi прикрепляется к Core 0, и я запускаю свой мерцательный код на Core 1, так что это не должно мешать работе.
Не могу показаться чтобы это исправить, кто-нибудь может мне помочь?
Кстати, я использую Arduino IDE