RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-404222

dgopadakak's questions

Martin Hope
dgopadakak
Asked: 2022-08-25 02:18:33 +0000 UTC

Guru Meditation 错误:提交字符串后 Core 1 出现恐慌(InstrFetchProhibited)

  • 0

我正在构建一个项目,其中一部分是 ESP32 上的套接字服务器。抛出此错误的场景如下:一个字符串到达​​套接字,{CHON}该字符串被成功处理,ESP32 打开必要的继电器并响应CHON,之后 Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited) 为抛出并且 ESP32 重新启动。请告诉我如何处理这个错误。
代码如下所示:

#include <WiFi.h>
#include <Wire.h>
 
 // Определяем максимальное количество клиентов, которые могут подключиться к этому серверу (обычно не более 4)
#define MAX_SRV_CLIENTS 5

 // Следующие три определения являются определениями отладки
#define DebugBegin(baud_rate)    Serial.begin(baud_rate)
#define DebugPrintln(message)    Serial.println(message)
#define DebugPrint(message)      Serial.print(message)
#define DebugPrintf(message)     Serial.printf(message)

int firstRelay = 5;
int secondRelay = 14;
 
const char* ssid = "Keenetic-6370";
const char* password = "vxTuT5JT";
 
 // Создаем номер порта сервера 80
WiFiServer server(80);
 // Управление клиентами
WiFiClient serverClients[MAX_SRV_CLIENTS];

long pushtime = 0;
 
void setup()
{
  pinMode(firstRelay, OUTPUT);
  digitalWrite(firstRelay, HIGH);
  pinMode(secondRelay, OUTPUT);
  digitalWrite(secondRelay, HIGH);
  
  DebugBegin(115200);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  DebugPrint("\nConnecting to "); 
  DebugPrintln(ssid);
  uint8_t i = 0;
  while (WiFi.status() != WL_CONNECTED && i++ < 30)
  {
    DebugPrint("."); 
    delay(500);
  }
  if (i == 21) 
  {
    DebugPrint("Could not connect to"); 
    DebugPrintln(ssid);
    while (1) 
    {
      delay(500);
    }
  }

  server.begin();   // Запускаем сервер
  server.setNoDelay(true);    // Отключаем функцию объединения небольших пакетов, без задержки при отправке данных
 
  DebugPrint("Ready! Use 'telnet ");
  DebugPrint(WiFi.localIP());
  DebugPrintln(" 80' to connect");
  pushtime = millis();
}
 
void loop()
{
  uint8_t i;
  if (server.hasClient())   // Определяем, поступает ли новый клиентский запрос
  {
    for (i = 0; i < MAX_SRV_CLIENTS; i++)   // Освобождаем старого недействительного или отключенного клиента
    {
      if (!serverClients[i] || !serverClients[i].connected())
      {
        if (serverClients[i])
        {
          serverClients[i].stop();
        }
        serverClients[i] = server.available();    // Назначаем последнего клиента
        DebugPrint("New client: "); 
        DebugPrintln(i);
        break;
      }
    }
    if (i == MAX_SRV_CLIENTS)   // Когда максимальное количество подключений достигнуто, подключение необходимо отклонить
    {
      WiFiClient serverClient = server.available();
      serverClient.stop();
      DebugPrintln("Connection rejected ");
    }
  }
 
  for (i = 0; i < MAX_SRV_CLIENTS; i++)   // Обнаружение данных, отправленных клиентом
  {
    if (serverClients[i] && serverClients[i].connected()) {
      if (serverClients[i].available())
      {
        String inString;
        while (serverClients[i].available())    //get data from the telnet client and push it to the UART
        {
          char inChar = serverClients[i].read();
          inString += inChar;
          delay(5);
          if (inChar == '}')
          {
            inString = "\n" + inString;
            if (inString.indexOf("{GLAVIARY}")>0)  // свет в навесе
            {
              digitalWrite(firstRelay, !digitalRead(firstRelay));
            }
            else if (inString.indexOf("{CHON}")>0)  // свет в домике куриц on
            {
              digitalWrite(secondRelay, LOW);
              for (i = 0; i < MAX_SRV_CLIENTS; i++)   // Отправляем данные каждому клиенту
              {
                if (serverClients[i] && serverClients[i].connected())
                {
                  serverClients[i].println("CHON");   // ПРЕДПОЛАГАЕМОЕ МЕСТО ОШИБКИ!!!
                  delay(5);
                }
              }
            }
            else
            {
              Serial.println("Wrong command");
            }
            inString = "";
          }
        }
      }
    }
  }
}

这是错误的样子: 这就是错误的样子

сеть сокет
  • 1 个回答
  • 34 Views
Martin Hope
dgopadakak
Asked: 2022-04-27 04:00:56 +0000 UTC

如何将带有数学表达式的字符串转换为一段可执行代码?[复制]

  • -2
这个问题已经在这里得到了回答:
Java 中的“执行”文本变量 1 个答案
10 个月前关闭。

是否可以将带有数学表达式的字符串转换为如下代码:
有一个 String 类型的变量,其初始化如下:x*x*x.
代码中有一些方法可以像这样工作:

public double someMethod(String s)
{
return (число, полученное вычислением выражения, которое содержится в вышеуказанной переменной);
}

如果这是可能的,如何实施?

java
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5