Impossibilité de modifier la valeur d'un membre via une méthode de classe
Bonjour
Je débute en C++ j'ai un problème : J'ai un membre m_playing, de type byte, déclaré privé dans une classe dont je ne parviens pas à modifier sa valeur via les méthodes de la classe. Il me sort toujours la valeur 192 alors que je veux la mettre à 1 ou à 0.
Pourquoi ? Où est mon erreur ?
Voici mon code (ps : Je travaille sur un arduino. Serial.println() me sert à afficher des valeurs sur mon écran via une liaison série)
Code:
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
|
/**
* ----------------------------------------------------
* Ficher d'en tête de la classe
* ----------------------------------------------------
*/
#ifndef RAILSDMP3_H
#define RAILSDMP3_H
#include <avr/pgmspace.h>
#include <Arduino.h>
#include <SD.h>
#include <railVs10xx.h>
class railSdMp3
{
private :
byte m_playing; // Déclaration du membre.
char* p_trackName;
byte m_readLen;
public :
railSdMp3();
void begin();
....
};
#endif RAILSDMP3_H |
Code:
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 32 33 34 35 36 37 38 39 40 41 42
|
/**
* ----------------------------------------------------
* Ficher CPP de la classe
* ----------------------------------------------------
*/
#include <railSdMp3.h>
#define SD_CS 10 // SD Chip Select pin id
#define SD_READ_BUF_LEN 32 // taille du buffer SD > MP3
Sd2Card card;
SdVolume volume;
SdFile root;
SdFile track;
static byte readBuf[SD_READ_BUF_LEN];
/**
* Constructeur
*/
railSdMp3::railSdMp3()
: m_playing(0), // j'initialise le membre avec la valeur 0
m_readLen(0)
{}
/**
* Init SD and VS1053
*/
void railSdMp3::begin()
{
Serial.print("Affiche m_playing 1ere fois:");
Serial.println(m_playing); // Il l'affiche 192 et pas 0 !!
m_playing = 1;
Serial.print("Affiche m_playing 2nd fois:");
Serial.println(m_playing); // Il affiche 192 encore et pas 1 !!
// .... la suite ici ...
}
.... |
Code:
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
|
/**
* Programme ...
*/
#include <Arduino.h>
#include <SD.h>
#include <railVs10xx.h>
#include <railSdMp3.h>
railSdMp3* swi01;
void setup()
{
Serial.begin(9600);
delay(2000);
swi01->begin(); // Affiche la valeur du membre m_playing
....
}
void loop()
{
...
} |
Merci pour votre aide.