Merhaba,
Mqtt ile işlemciye veri gönderdiğimde cihaz aşağıdaki hataları verip reset atmakta. ESpressifin kendi forumunda da bu problemle karşılaşan çok fakat bizden karşılaşıp bu hatayı aşabilen var mı ?
Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x18490839 PS : 0x00060e30 A0 : 0x800d1aba A1 : 0x3ffb1f10
A2 : 0x00000000 A3 : 0x3ffc2160 A4 : 0x00000005 A5 : 0x00000010
A6 : 0x00000005 A7 : 0x3ffb1dd4 A8 : 0x801592cc A9 : 0x00000005
A10 : 0x3ffc0000 A11 : 0x3ffb1d8f A12 : 0x3ffc2135 A13 : 0x00000013
A14 : 0x3ffc21ac A15 : 0x00000009 SAR : 0x00000004 EXCCAUSE: 0x00000014
EXCVADDR: 0x18490838 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xffffffff
ELF file SHA256: 0000000000000000
Backtrace: 0x18490839:0x3ffb1f10 0x400d1ab7:0x3ffb1f30 0x400d1b3d:0x3ffb1f50 0x400d158e:0x3ffb1f70 0x400d2adf:0x3ffb1f90 0x400dce15:0x3ffb1fb0 0x40089dfe:0x3ffb1fd0
Bu sorunu ara ara yaşıyorum. Genelde veri tipleriyle alakalı oluyor. Mqtt ile data attığın fonksiyona geçtiğin data parametresine bak. Oraya pointer veriliyordu yanlış hatırlamıyorsam.
Char dizinlerini float değerlere atamaya çalışıyordum. Aşağıdaki kodlarla
sscanf(Arr[0],"%f",(float*)&MqttRequest[0]);
sscanf(Arr[1],"%f",(float*)&MqttRequest[1]);
sscanf(Arr[2],"%f",(float*)&MqttRequest[2]);
Bu kodları aşağıdakilerle değiştirdim. Hata düzeldi.
MqttRequest[0] = atof(Arr[0]);
MqttRequest[1] = atof(Arr[1]);
MqttRequest[2] = atof(Arr[2]);