Bonjour,
je reviens vers vous car parfois au boot et presque toujours après un deepsleep, j'ai des messages comme ci-dessous :
Guru Meditation Error: Core 0 panic'ed (InstrFetchProhibited). Exception was unhandled.
10:22:46.104 -> Core 0 register dump:
10:22:46.104 -> PC : 0x3ffe3bbc PS : 0x00050333 A0 : 0x3ffe3bbc A1 : 0x3ffe3af0
10:22:46.104 -> A2 : 0x40087a64 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x000036f0
10:22:46.104 -> A6 : 0x00000000 A7 : 0x3ffbdb20 A8 : 0xbaad5678 A9 : 0x80087782
10:22:46.104 -> A10 : 0x3ffe3b50 A11 : 0x3ffc0304 A12 : 0x3ffc02fc A13 : 0x3ffbd0ec
10:22:46.104 -> A14 : 0x00000000 A15 : 0x00000000 SAR : 0x00000000 EXCCAUSE: 0x00000014
10:22:46.104 -> EXCVADDR: 0x3ffe3bbc LBEG : 0x3f401760 LEND : 0x00000000 LCOUNT : 0x00000001
10:22:46.151 ->
10:22:46.151 -> Backtrace: 0x3ffe3bbc:0x3ffe3af0 0x3ffe3bb9:0x3ffe3ba0 0x40082b40:0x3ffe3bf0 0x40082cd1:0x3ffe3c20 0x40078f2b:0x3ffe3c40 0x40078f91:0x3ffe3c70 0x40078f9c:0x3ffe3ca0 0x40079165:0x3ffe3cc0 0x400806da:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20
10:22:46.151 ->
10:22:46.151 -> Rebooting...
10:22:46.151 -> ets Jun 8 2016 00:22:57
10:22:46.151 ->
10:22:46.151 -> rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
10:22:46.151 -> configsip: 0, SPIWP:0xee
10:22:46.151 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
10:22:46.151 -> mode:DIO, clock div:2
10:22:46.151 -> load:0x3fff0018,len:4
10:22:46.205 -> load:0x3fff001c,len:1100
10:22:46.205 -> load:0x40078000,len:9232
10:22:46.205 -> load:0x40080400,len:6412
10:22:46.205 -> entry 0x400806a8
10:22:46.452 -> Frequence du CPU :80
10:22:46.505 -> LoRa Initial OK!
10:22:46.505 -> Calibration du HX711
10:22:46.505 -> Enlever tous les poids de la balance
10:22:46.505 -> des la lecture commencee, placer un poids connu sur la balance
10:22:46.505 -> Presser a,s,d,f ajoute a la calibration 10,100,1000,10000 respectivement
10:22:46.505 -> Presser z,x,c,retranche a la calibration 10,100,1000,10000 respectivement
10:22:46.505 -> taper t dans le moniteur pour tarer la balance
10:22:47.308 -> Zero factor: 8375366
10:22:50.417 -> Calibration: 11370.00
10:22:50.417 -> ****************
10:22:50.417 -> Poids de la ruche :0.95Kg
10:22:50.417 -> ****************
ceux-ci n'apparaissent en clair que si je choisis 115200 comme vitesse de transfert, sinon ils apparaissent en "garbage characters". A noter que le résultat apparait même si j'ai supprimé la fonction serial.
Ça ne pénalise en rien le fonctionnement de mes dispositifs mais franchement c'est pas top.
D'où cela peut-il venir ?
J'ajoute que je fonctionne sur alim extérieure alimentant le SoC sur l'entrée 5v (en fait, 5.3V). J'ai fait un essai sur lipo c'est pareil.
J'ai joué sur la fréquence du CPU (240, 160, 80) on ne peut pas descendre plus bas car ça désactive la fonction radio.
J'ai également comparé les méthodes d'abaissement de la fréquence du CPU (autre fil de discussion).
C'est toujours pareil.
Voilà ci-dessous un bout de mon code :
#include <SPI.h>
#include <HX711.h>
#include <LoRa.h>
#include <esp32-hal-cpu.h>
#define DOUT 4
#define CLK 13
void setup() {
D_SerialBegin(115200);
setCpuFrequencyMhz(80);
int cpuSpeed = getCpuFrequencyMhz();
D_SerialPrint("Frequence du CPU :");
D_SerialPrintln(cpuSpeed);
scale.begin(DOUT, CLK);
while (!Serial);
SPI.begin(5, 19, 27, 18);
LoRa.setPins(SS, RST, DI0);
LoRa.begin(BAND);
if (!LoRa.begin(BAND)) {
D_SerialPrintln("Le demarrage de LoRa a echoue !");
while (1);
}
LoRa.setSpreadingFactor(10); // Facteur d'étalement 7 est la valeur par défaut
D_SerialPrintln("LoRa Initial OK!");
et dans le loop :
esp_sleep_enable_timer_wakeup(uSc_Sc * Sc_Mn * Time_To_Sleep); // Timer d'endormissement en microsecondes
D_SerialPrint("deepsleep:");
esp_deep_sleep_start();
J'attends vos suggestions, même si comme je l'ai dit plus haut tout est parfaitement fonctionnel à 80 MHz.