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

WinDev Discussion :

communication arduino et windev


Sujet :

WinDev

  1. #21
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    re bonjour,
    voila mes code windev et arduino. Merci pour aide

    Code Windev:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    bResultat = sOuvre(4,1000,1000)
    MonBuffer est un Buffer = ""
    MonBuffer = SAI_Saisie
     
    SI bResultat = Vrai ALORS
    	sFixeParamètre(4, 9600, 1, 8, 1)
    	sEcrit(4, MonBuffer)
    	Trace(MonBuffer)
    SINON
    	Erreur("Erreur d'ouverture de COM.....")
    FIN
    SAI_Saisie..Valeur="" 
    sFerme(4)
    **********************************************
    Code Arduino:

    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
    int maLed=7;
    char charRead;
     
    void setup() {
    pinMode(maLed,OUTPUT);
    Serial.begin(9600);
    }
     
    void loop() {
    if (Serial.available()) {
    charRead = Serial.read(); 
    if (charRead=='a') {
    digitalWrite(maLed, HIGH);
    }
    else {
      digitalWrite(maLed, LOW);
    }
    Serial.println(charRead);
    }
    }

  2. #22
    Responsable Arduino et Systèmes Embarqués


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sFixeParamètre(4, 9600, 1, 8, 1)
    1=parité paire

    D'après la doc Arduino,
    The default is 8 data bits, no parity, one stop bit.
    Peut-être avec sFixeParamètre(4, 9600, 0, 8, 1).

  3. #23
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    et un bit de stop c'est le dernier paramètre à zéro :
    <NbBitsStop> : Entier
    Nombre de bits stop :
    0 1 bit stop
    1 1.5 bits stop
    2 2 bits stop
    sFixeParamètre(4, 9600, 0, 8, 0).

    mais cela ne changera pas obligatoirement le résultat : j'ai fait un essai entre un programme windev avec ton code et un logiciel de réception série et bien même avec les valeurs fausses pour sfixeparamètre je ne reçois toujours que le caractère 'a' quand j'envoie le caractère 'a' . Je ne crois pas que windev soit en cause. As-tu essayé d'envoyer un caractère à partir d'un autre programme genre hyperterminal ou teraterm.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  4. #24
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Effectivement cela ne change rien en passant la parité à 0. Ce qui est bizarre c'est que la mini LED de la carte Arduino s'eteind lorsque que j'envoie un caractère et se rallume tout doucement. Si j'envoie n'importe quel caractère (a ou autre chose ) vers la carte arduino alors que la LED est allumée, celle-ci s'éteind. Ce qui est normal car demandé dans le programme. Mais rien ne l'allume. J'ai l'impression que Arduino ne reconnait pas la lettre a.
    J'ai essaye avec hyperterminal est bingo ça marche. Que faut-il donc envoyer avec Windev pour qu'il reconnaisse le cractère
    merci

  5. #25
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    As-tu regardé ce que renvoie la carte par l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Serial.println(charRead);
    ?t
    Dans ce cas il ne faut pas fermer la liaison après envoi et mettre un système de gestion de reception série par evénement.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

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


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Un Serial.println(charRead , DEC); devrait nous renseigner.

    Edit : grillé d'un cheveu...

  7. #27
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    Pour la gestion de la réception série voici un code exemple :

    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
     
    sFerme(4)
    bResultat = sOuvre(4,4096,4096,400,1)
    MonBuffer est un Buffer = ""
    MonBuffer = SAI_Saisie
     
    SI bResultat = Vrai ALORS
    	sFixeParamètre(4, 9600, 0, 8, 0)
            sEvénement(4,sEveCaractèreReçu,"LecturePortSérie") // on active la procédure de lecture sur évenement
    	sEcrit(4, MonBuffer)
    	Trace(MonBuffer)
    SINON
    	Erreur("Erreur d'ouverture de COM.........")
    FIN
    SAI_Saisie..Valeur=""
    avec la procédure LecturePortSérie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PROCEDURE LecturePortSérie(NumPort,Event)
    OctetsLus est un entier
    TempBuffer est une chaîne
    OctetsLus = sDansFileEntrée (NumPort)
    TempBuffer = sLit (NumPort ,OctetsLus)
    Trace(TempBuffer)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  8. #28
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    J'ai essayé ton code Jurassic Pork, mais çà ne fonctionne toujours pas. En revanche j'ai fais un test avec HyperTerminal, et là BINGO ça s'allume.
    Le souci vient donc de l'envoi depuis WinDev. Pourquoi cette micro LED sur la carte Arduino s'etiend et se rallume tout doucement, on dirait qu'il y a un court circuit lors de la reception des octets !!! Je continue mes essais, si vous avez des solutions, merci

  9. #29
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello,
    Que renvoie "LecturePortSerie" ?

    Ami calmant, J.P?
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #30
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par fredcatlou Voir le message
    re bonjour,
    voila mes code windev et arduino. Merci pour aide

    Code Windev:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    bResultat = sOuvre(4,1000,1000)
    MonBuffer est un Buffer = ""
    MonBuffer = SAI_Saisie
     
    SI bResultat = Vrai ALORS
    	sFixeParamètre(4, 9600, 1, 8, 1)
    	sEcrit(4, MonBuffer)
    	Trace(MonBuffer)
    SINON
    	Erreur("Erreur d'ouverture de COM.....")
    FIN
    SAI_Saisie..Valeur="" 
    sFerme(4)
    **********************************************
    Code Arduino:

    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
    int maLed=7;
    char charRead;
     
    void setup() {
    pinMode(maLed,OUTPUT);
    Serial.begin(9600);
    }
     
    void loop() {
    if (Serial.available()) {
    charRead = Serial.read(); 
    if (charRead=='a') {
    digitalWrite(maLed, HIGH);
    }
    else {
      digitalWrite(maLed, LOW);
    }
    Serial.println(charRead);
    }
    }

    Bonjour,
    Je sais que le post date de l'année dernière mais comme je suis également bloqué j'aimerai savoir si tu avais réussi a allumer la LED avec Windev ?
    D'avance merci

    EDIT : Bon en fait j'ai trouvé il te faut mettre une temporisation(160) // minimum pour prise en compte du sfixeParametre après le SfixeParametre
    pour que la connexion soit établie avec windev.
    Test Ok sur ma machine.
    J'espère que tu avais pu trouver depuis le temps. Dans tous les cas cela servira pour les autres

    EDIT 2: Par contre je confirme qu'il faut un sFixeParamètre(3,9600,0,8,0)
    Sinon vous ne pouvez par relire la réponse envoyé par l'arduino

Discussions similaires

  1. Communication arduino avec VB.net
    Par chrifi dans le forum Arduino
    Réponses: 1
    Dernier message: 24/05/2013, 13h49
  2. [WD17] Modifier fenêtre téléchargement Framework Windev Commun
    Par zouzoukha dans le forum WinDev
    Réponses: 0
    Dernier message: 14/05/2013, 18h45
  3. Bug communication serie avec arduino (busy)
    Par Invité dans le forum MATLAB
    Réponses: 2
    Dernier message: 09/07/2012, 09h39
  4. probleme de communication entre 2 fenêtres windev
    Par law56100 dans le forum WinDev
    Réponses: 9
    Dernier message: 24/04/2008, 12h14
  5. [WD11] Communication WinDev / Foxpro
    Par Bugger24 dans le forum WinDev
    Réponses: 9
    Dernier message: 14/02/2008, 15h49

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