Bonjour à tous,
Je viens à l'instant de terminer mon inscription sue le site.
Je m’intéresse à tout ce qui touche à la technique en général, et l'informatique et le développement en font parties.
Je développe en ce moment une petite application en WinDev mobile (version 15), qui doit tourner sur un Pocket PC.
Je précise que j'ai toujours mis un point d'honneur à rechercher et à trouver une solution par moi-même à chaque fois que cela m'a été possible.
Mais la, je "sèche" lamentablement.
Donc voici la description de mon projet.
La partie matériel est composé d'une carte processeur "Arduino" associée à un module de 8 relais.
Cette carte doit dialoguer avec un pocket PC (HP Ipaq 2210) grâce à un module Bluetooth (module Kibuck BT)
Je pilote donc l'ouverture des relais à partir du pocket PC et je récupère la position de ces relais afin d'afficher leurs états sur le pocket PC.
Le programme sur la carte "Arduino" est écrit en C++ grace au pack de développement proposé par Arduino.
Celui, testé en local (liaison USB) grâce à une fenêtre visualisant les données sur le port USB fonctionne parfaitement.
Le programme sur le Pocket PC est développé a partir de WinDev Mobile.
Lorsque je teste la totalité du projet (Arduino + WinDev) en simulation dans WinDev, tout fonctionne correctement.
Je pilote bien mes relais et je récupère bien leurs positions.
Mais lorsque je charge l’application sur le Pocket PC, il y a soucis.
Dans ce cas, je pilote toujours bien mes relais, mais je ne récupère plus leurs positions.
Mes recherches sur la toile font apparaitre un problème "éventuel" de code Ansi et Unicode mais malgré l'intégration de cette modification dans le programme le problème reste entier.
A ce stade, je ne sais vers quel direction effectuer mes recherche et en appelle donc à votre savoir.
Cordialement
JPR
Voici le morceau de programme en question; il n'y a aucune erreur lors de la compilation.
Déclaration des variables
Lancement de la procédure pCom()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sPortCom est un entier = 8 // Port Com en sortie POSCVOAVG est un entier Transit est un entier Nombre est un entier
Déclaration d'une procédure globale pCom
Code : Sélectionner tout - Visualiser dans une fenêtre à part pCom()
Déclaration d'une procédure globale pLitCom
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 PROCEDURE pCom() sFerme(sPortCom) // Au cas ou il serait déjà ouvert SI sOuvre(sPortCom, 1200, 1200, 1000) ALORS SI sFixeParamètre(sPortCom, 9600, 0, 8, 0) ALORS // Paramètres de sOuvre et sFixeparamètre à adapter à vos besoins TimerSys(pLitCom,100,10) SINON sFerme(sPortCom) Info("Problème de paramètrage du Port Com : " + sPortCom + RC + RC + "Le programme va maintenant s'arreter") FinProgramme() FIN SINON Info("Problème d'ouverture du Port Com : " + sPortCom + RC + RC + "Le programme va maintenant s'arreter") FinProgramme() FIN TimerSys(pLitCom,100,10) // On peut également utiliser un thread à la place
Déclaration d'une procédure globale TESTCVOAVG pour un des relais (les 7 autre sont identiques)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PROCEDURE pLitCom() FinTimerSys(100) // On stope le timer pendant la lecture Nombre = sDansFileEntrée(sPortCom) POSCVOAVG = Val(sLit(sPortCom,Nombre)) TimerSys(pLitCom,100,10) // On relance le timer. Transit = AnsiVersUnicode(POSCVOAVG) Accueil1.Texte = Transit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 PROCEDURE TESTCVOAVG1() SI Transit = 1 ALORS NivStab.BOUTON26..CouleurFond= VertFoncé SINON NivStab.BOUTON26..CouleurFond= Blanc FIN
Partager