• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Fatal exception

Хеллоу!

Новая беда.
Написал очередную програмку.
Вроде, даже работала, но после очередной модернизации стала вылетать.

Есть в этом что-то полезное, или не тратить время на расшифровку?

Код:
Fatal exception 0(IllegalInstructionCause):
epc1=0x402023f4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

Exception (0):
epc1=0x402023f4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: sys
sp: 3ffffc30 end: 3fffffb0 offset: 01a0

>>>stack>>>
3ffffdd0:  40106bc8 00d79999 00000000 00000100 
3ffffde0:  ffffffff 00000020 40240000 00000099 
3ffffdf0:  42d80000 43610000 00000000 00000022 
3ffffe00:  3fffc200 40106b90 3fffc258 4000050c 
3ffffe10:  400043a3 00000030 00000019 ffffffff 
3ffffe20:  60000200 00000008 ffffffff 80000000 
3ffffe30:  20000000 3fff1318 80000000 2007c1c0 
3ffffe40:  00000000 3fffc6fc 3ffee518 3fff131c 
3ffffe50:  00000134 0007c1c0 60000600 00000030 
3ffffe60:  00000000 00000000 00000000 401028e2 
3ffffe70:  40102946 0000000e 00000000 40106c16 
3ffffe80:  ffffffff 00000020 00000000 4000050c 
3ffffe90:  00000000 00000000 0000001f 40105331 
3ffffea0:  4000050c 40106b90 3fffc258 4000050c 
3ffffeb0:  40000f68 00000030 0000001c ffffffff 
3ffffec0:  40000f58 00000000 00000020 00000000 
3ffffed0:  00000013 40209428 3ffee518 00000000 
3ffffee0:  ffffffff 3ffe9174 3ffee518 3fffdab0 
3ffffef0:  00000000 3fffdcb0 3ffee558 00000030 
3fffff00:  00000000 400042db 3ffebbe8 60000600 
3fffff10:  40004b31 3fff113c 000002f4 0007c000 
3fffff20:  4010571a 3ffee540 3ffed5e0 40107000 
3fffff30:  40208ef9 3ffed5e0 3ffee540 06af4670 
3fffff40:  3fff113c 00001000 4020938e 00000008 
3fffff50:  00000000 00000000 4020943b 3ffed694 
3fffff60:  3ffee540 017ed439 3ffee518 3ffee540 
3fffff70:  4021ab11 3ffed694 3ffee540 06af32ea 
3fffff80:  4021ab56 3fffdab0 00000000 3fffdcb0 
3fffff90:  3ffee560 3fffdad0 3ffef5a8 402045c7 
3fffffa0:  40000f49 40000f49 3fffdab0 40000f49 
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(1,6)


ets Jan  8 2013,rst cause:4, boot mode:(1,6)

wdt reset
 
Или вот так:
Код:
Soft WDT reset

ctx: cont
sp: 3fff0080 end: 3fff0280 offset: 01b0

>>>stack>>>
3fff0230:  3fffdad0 00000000 3ffef19c 402020f4 
3fff0240:  3ffef07c feefeffe feefeffe feefeffe 
3fff0250:  feefeffe feefeffe feefeffe 3ffef258 
3fff0260:  3fffdad0 00000000 3ffef250 40202d7f 
3fff0270:  feefeffe feefeffe 3ffef260 40100958 
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(1,6)


ets Jan  8 2013,rst cause:4, boot mode:(1,6)

wdt reset
 
В поисках глюка прогу сократил до минимума.
Код:
unsigned long Counter =0;
void counterPulse() {
      Counter++;
}
void setup() {
  Serial.begin(115200); //74880);
  delay(10);
  Serial.println("Start setup");
  attachInterrupt(digitalPinToInterrupt(14), counterPulse, RISING); //FALLING); //RISING); //CHANGE);
  Serial.println("End Setup");
}
void loop() {
  delay(10);
}
На 14 ногу подаю импульсы (меандр). Как только скорость импульсов превышает 10имп/сек происходит Fatal exception.
Перед урезанием проги, подключаля к WiFi, брал время с NTP сервера, посылал данные через вебклиента.
Если включить Debug, то после ресета в порт плюётся:
Код:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x0f
csum 0x0f
~ld
Start setup
End Setup
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt

connected with SENS, channel 4
dhcp client start...
ip:10.22.0.35,mask:255.255.255.0,gw:10.22.0.254
pm open,type:2 0
Пока не идут импульсы, ошибка не вываливается. Как только подаю импульсы выскакивает ошибка из первого сообщения. Ошибка выскакивает иногда после 50-го, а иногда после 300-го импульса. :(

Я использую ESP-12E.
 

nikolz

Well-known member
надо вообще луп выкидывать.
На СИ это делается с вызовом одной из трех задач.
Т е вам надо отклик на асинхронное событие это и делается передачей из колбека в задачу либо помещением вашего алгоритма в колбек.
Либо ставьте RTOS.
------------------------------------
андулино это для начинающих универсальных разработчиков мигания светодиодом.
Типа песочницы в детском саду.
можно строить дома из песка.
 
Сверху Снизу