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 :

Problème avec SoftwareSerial->begin()


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut Problème avec SoftwareSerial->begin()


    J'ai un souci avec mon code. La ligne 19 bloque l’exécution du code. Si je commente cette ligne, l’exécution se fait sans souci. Si je la laisse, le compilateur ne repère pas de problème, mais le code ne s’exécute pas.

    Code C++ : 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
    #include "BluetoothManager.h"
    #include "Arduino.h"
    #include <Message.h>
    #include <SoftwareSerial.h>
    	#ifdef __AVR__
    		#include <avr/power.h>
    	#endif
     
    /*
    Class managing the communication over the Bluetooth
    */
    BluetoothManager :: BluetoothManager(char rxPin, char txPin) {
    	_rxPin = rxPin;
    	_txPin = txPin;
    	if(NULL != _bluetoothSerial){
    		delete _bluetoothSerial;
    	}
    	_bluetoothSerial = new SoftwareSerial(rxPin, txPin);
    	_bluetoothSerial->begin(9600); //erreur
    }

    quel est le problème ? Comment je peux le corriger ?

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    les paramètres de l'objet SoftwareSerial sont de type byte et pas de type char. Ensuite cette bibliothèque a des limitations : est-ce que ton dispositif respecte les conditions ?

  3. #3
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut
    Quelle est la différence entre un char et un byte ?

    Oui je respecte les limitations.

    Edit :
    J'ai essayé avec des byte à la place des char, le problème reste le même.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 190
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	_bluetoothSerial = new SoftwareSerial(rxPin, txPin);
    	_bluetoothSerial->begin(9600); //erreur

    Ne serait-ce pas plutôt :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    SoftwareSerial *_bluetoothSerial = new SoftwareSerial(rxPin, txPin);

  5. #5
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut
    C'est ce que je fais dans mon .h
    Code C++ : 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
    #ifndef BluetoothManager_h
    #define BluetoothManager_h
     
    #include "Arduino.h"
    #include <Message.h>
    #include <SoftwareSerial.h>
    	#ifdef __AVR__
    		#include <avr/power.h>
    	#endif
     
    class BluetoothManager {
    	public:
    		BluetoothManager(byte rxPin, byte txPin);
    		int available();
    		Message receive();
    		void send(Message message);
    	private:
    		byte _rxPin;
    		byte _txPin;
    		SoftwareSerial *_bluetoothSerial;
    };
     
    #endif

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 190
    Billets dans le blog
    47
    Par défaut
    Si le code reste bloqué dans le begin, c'est sans doute que la communication n'arrive pas à s'établir et que le problème est d'ordre matériel (à commencer par l'inversion classique du Rx et Tx)...

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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