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 :

Lire données sur carte SD


Sujet :

Arduino

  1. #1
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut Lire données sur carte SD
    Bonjour,

    Ca semble simple mais j'ai un petit soucis pour certain type de variables (char *ssid par exemple)

    Voici une partie du code
    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
    27
    28
    29
    #include <WiFiNINA.h>
    #include <WiFiUdp.h>
    #include <NTPClient.h>
    #include <TimeLib.h> 
    #include "max6675.h" 
    #include <SPI.h>
    #include <SD.h>
     
    char *ssid = "xxxxx";
     
    void setup() {
          File myFile;
          String ligne = "";
          myFile = SD.open("config.ini", FILE_READ);
          while (myFile.available()) {
              char a = myFile.read();
              if (a == '\n') {
                Serial.println(ligne);
                String consigne = ligne.substring(0, ligne.indexOf(":")+1);
                String reponse = ligne.substring(ligne.indexOf(":")+1, ligne.indexOf(";"));
     
                if (consigne == "WIFI :") { 
                    char buffer[reponse.length() + 1]; 
                    reponse.toCharArray(buffer, reponse.length() + 1); 
                    }
               }
           }
        Serial.print("------------------------>");Serial.println(ssid);
    }
    le texte récupéré de la carte SD est : "WIFI :xxxxxxx;"
    consigne = "WIFI :"
    reponse = "xxxxxxx"

    Quand j'affiche ma ligne c'est correct, ma consigne et ma reponse son conformes aussi.
    C'est quand je bascule mon String en char que ça fonctionne pas, Serial.println(ssid); me retourne un carré

    Je ne comprend pas pourquoi je n'arrive pas à récupérer le texte pour ma variable ssid.

    Par avance merci pour votre aide

  2. #2
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut
    J'ai oublié le plus important dans le code

    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
    27
    28
    29
    30
    31
     
    #include <WiFiNINA.h>
    #include <WiFiUdp.h>
    #include <NTPClient.h>
    #include <TimeLib.h> 
    #include "max6675.h" 
    #include <SPI.h>
    #include <SD.h>
     
    char *ssid = "xxxxx";
     
    void setup() {
          File myFile;
          String ligne = "";
          myFile = SD.open("config.ini", FILE_READ);
          while (myFile.available()) {
              char a = myFile.read();
              if (a == '\n') {
                Serial.println(ligne);
                String consigne = ligne.substring(0, ligne.indexOf(":")+1);
                String reponse = ligne.substring(ligne.indexOf(":")+1, ligne.indexOf(";"));
     
                if (consigne == "WIFI :") { 
                    char buffer[reponse.length() + 1]; 
                    reponse.toCharArray(buffer, reponse.length() + 1); 
                    ssid = bufffer;
                    }
               }
           }
        Serial.print("------------------------>");Serial.println(ssid);
    }
    Et c'est quand j'affecte le contenu de la vairable buffer à ma variable ssid que ça marche pô
    Si quelqu'un a une idée

    merci

  3. #3
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut
    Trouvé ouf

    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
    27
    28
    29
    30
    31
     
    #include <WiFiNINA.h>
    #include <WiFiUdp.h>
    #include <NTPClient.h>
    #include <TimeLib.h> 
    #include "max6675.h" 
    #include <SPI.h>
    #include <SD.h>
     
    char *ssid = "xxxxx";
    char bufferSssid[25]; 
     
    void setup() {
          File myFile;
          String ligne = "";
          myFile = SD.open("config.ini", FILE_READ);
          while (myFile.available()) {
              char a = myFile.read();
              if (a == '\n') {
                Serial.println(ligne);
                String consigne = ligne.substring(0, ligne.indexOf(":")+1);
                String reponse = ligne.substring(ligne.indexOf(":")+1, ligne.indexOf(";"));
     
                if (consigne == "WIFI :") { 
                    reponse.toCharArray(bufferSssid, reponse.length() + 1); 
                    ssid = bufferSssid;
                    }
               }
           }
        Serial.print("------------------------>");Serial.println(ssid);
    }
    Et ça fonctionne, comme c'est une variable pointer il faut qu'elle point vers une autre variable

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération données sur carte à puce
    Par KIANGOYI NZILA dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2021, 20h59
  2. Base de donnée sur écarts inventaire
    Par josé24 dans le forum Access
    Réponses: 4
    Dernier message: 06/04/2016, 13h14
  3. Acquisition de données sur carte "addi-data"
    Par semvarde dans le forum LabVIEW
    Réponses: 1
    Dernier message: 02/06/2010, 14h32
  4. données à lire sur cartes dans un DD de procedure
    Par Fred Ratel dans le forum z/OS
    Réponses: 2
    Dernier message: 02/07/2009, 09h54
  5. [SIG] Logiciel de restitution de données sur carte
    Par nuke_y dans le forum La taverne du Club : Humour et divers
    Réponses: 2
    Dernier message: 05/02/2007, 16h37

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