IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

CUT HERE FOR EXCEPTION DECODER


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut CUT HERE FOR EXCEPTION DECODER
    Bonjour à tous ,

    Je confectionne actuellement une station météo somme toute banale
    à l'aide de divers éléments suivant:
    Wemos D1 R2 & mini qui collecte les données ntp, openWeather , température extérieure
    via nrf24L01 et ds1820

    Tout semblait fonctionner normalement de façon "locale"
    c'est dire les données via internet comme les données ntp , openweather etc
    mais lorsque j'ai voulu faire communiquer le nrf24l01 j'ai obtenu le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    --------------- CUT HERE FOR EXCEPTION DECODER ---------------
     
    Soft WDT reset
     
    >>>stack>>>
     
    ctx: cont
    sp: 3ffffd40 end: 3fffffc0 offset: 01a0
    3ffffee0:  40225e0c 3fff1f44 3ffe8877 40225e18  
    3ffffef0:  00000000 3fff1f44 3ffe8877 402261d5  
    3fffff00:  00000001 00000002 3fff1f44 2e01a8c0  
    3fffff10:  00000000 3fff1f44 3ffefa2c 4023285c  
    3fffff20:  3ffe895d 3fff11c1 3fff1f44 40204a26  
    3fffff30:  3ffe9752 3ffe9752 3ffefa2c 2e01a8c0  
    3fffff40:  0000d43d 3fff1f44 3ffefa2c 4020ffd1  
    3fffff50:  40233a88 00ffffff 802032d4 402031d8  
    3fffff60:  40233a88 2e01a8c0 80231b3c 40231b28  
    3fffff70:  4020f238 00657461 feefeffe 80efeffe  
    3fffff80:  3fffff60 feefeffe feefeffe feefeffe  
    3fffff90:  feefeffe feefeffe feefeffe 3fff2090  
    3fffffa0:  3fffdad0 00000000 3fff2050 40228cdc  
    3fffffb0:  feefeffe feefeffe 3ffe8624 40100f19  
    <<<stack<<<
     
    --------------- CUT HERE FOR EXCEPTION DECODER ---------------
    je ne connais pas ce type de message et donc je ne comprends pas la signification
    le résultat se traduit par un reboot sauf si :
    - je ne sélectionne plus le module nrf24l01
    - ou je ne sélectionne plus le suivi "#debug" du programme

    je vous sollicite donc svp pour m'éclairer si vous le voulez sur défaut que je découvre


    merci par avance

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    à mon avis il s'agit du texte à utiliser dans le "Exception Stack Trace Decoder"

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    Bonjour,

    merci pour la réponse , je découvre ...
    Effectivement après instal du pluging , le résultat donne ceci mais j'avoue que l'interprétation me pose beaucoup de problème , un eclairage me serait necécassiare

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Decoding stack results
    0x40225e0c: HardwareSerial::write(unsigned char const*, unsigned int) at C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/HardwareSerial.h line 164
    0x40225e18: HardwareSerial::write(unsigned char const*, unsigned int) at C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/HardwareSerial.h line 165
    0x402261d5: Print::write(char const*) at C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Print.h line 62
    0x4023285c: TFT_eSPI::fillScreen(unsigned int) at C:\Users\Utilisateur\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp line 2073
    0x40204a26: scr_num_show(signed char) at \\DS216J\home\Themes\303 -Electronique\== Montages Perso\== ARDUINO  - Meteo\Programme\meteo/func.ino line 269
    0x4020ffd1: setup() at \\DS216J\home\Themes\303 -Electronique\== Montages Perso\== ARDUINO  - Meteo\Programme\meteo/meteo.ino line 773
    0x402031d8: std::_Function_handler ::_M_invoke(const std::_Any_data &, ota_error_t) at c:\users\utilisateur\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2/functional line 2069
    0x40231b28: std::_Function_handler ::_M_invoke(std::_Any_data const&) at c:\users\utilisateur\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2/functional line 2069
    0x4020f238: handleNotFound() at C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WebServer\src/ESP8266WebServer.h line 134
    0x40228cdc: loop_wrapper() at C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_main.cpp line 194
    Pour préciser les choses , j'ai raccordé le nrf24l01 aux bornes du Wemos de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //----------------------------------
    #ifdef nrf
    //----------------------------------
    	#include "nRF24L01.h"
    	#include "RF24.h"
      #define CEnrf D0    <===  
      #define CSnrf D4    <===
    	RF24 radio(CEnrf,CSnrf); // module sur les broches D0 et D4 
    	byte address[][6] = {"1Node","2Node","3Node","4Node","5Node","6Node"};  
    #endif
    Or , de nombreux exemples montrent un raccordement en CE = D2 et CS = D8
    ceci pourrait être à l'origine de mon problème car je vois 2 lignes "HardwareSerial"
    l'ennui est que j'ai déjà mon écran TFT en D8 d'où ce choix







    Cordialement

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    en gros il vous dit que le watchdog s'est déclenché lorsque vous appelez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scr_num_show(signed char);
    à la ligne 269 de votre programme func.ino depuis la ligne 773 (dans la fonction setup()) du code meteo.ino

    faudrait le code source pour voir pourquoi vous restez coincé trop longtemps dans cette fonction

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut
    à la ligne 269 de votre programme func.ino
    j'ai çà


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    //==============================================================
    //  scr_num_show
    //==============================================================
     
    void scr_num_show(signed char num)
    {
      refresh_all=true;  
      tft.fillScreen(TFT_BLACK);
      Serial.print("scr_num==");                        <=== 269 ============
      Serial.println(num);
     
      if (num==scr_count_pack)
      scr_number=0;
      else
      if (num<0)
        scr_number=scr_count_pack-1;
      else
        scr_number=num;
      #ifdef debug
        Serial.print(F("scr_number=="));
        Serial.println(scr_number);
      #endif
    }
    et la ligne 773 (dans la fonction setup()) du code meteo.ino


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //==================================================
    	#ifdef openw 
    	//==================================================
    	if (!do_find_scr(scr_name_def))
    		scr_number=0;
    	#endif 
     
    	scr_num_show(scr_number); <======= 773 ===========
     
    	end_setup:;
    	tft.setTextSize(1);
    	if (log_file)
    	{
    		log_str=(F("-----------end setup"));
    		do_log();  
    	}
    Le principe est que j'ai un cycle de 4 écrans de S1...S5 actifs lorsque je reçois les données openWeather
    l'écran S0 lui est actif lorsque je ne reçois pas ces données

    (je peux joindre l'ensemble des 2 croquis si besoin )

    Cordialement

Discussions similaires

  1. Boucle for - exception
    Par Domino5731 dans le forum Signal
    Réponses: 3
    Dernier message: 12/04/2012, 22h10
  2. Pb de gestion d'exception dans boucle for
    Par Kazevil dans le forum PL/SQL
    Réponses: 2
    Dernier message: 19/01/2009, 16h06
  3. Jsp Exception thrown by getter for property
    Par hibernatefun dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 01/07/2008, 11h58
  4. Réponses: 8
    Dernier message: 11/12/2007, 11h12
  5. boucle for avec exception dans l iteration
    Par norachaouia dans le forum Langage
    Réponses: 2
    Dernier message: 19/07/2007, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo