PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → erreur transmision socketecrit "conversion unicode"
erreur transmision socketecrit "conversion unicode"
Débuté par vinowan, 01 juil. 2015 17:54 - Aucune réponse
Membre enregistré
27 messages
Posté le 01 juillet 2015 - 17:54
Bonjour,

je fais une communication Bluetooth via les fonction socketecrit et lit pour communiquer entre une tablette androide et un module Bluetooth RN41 de microchip qui fait l'interface avec un pic.

je rencontre un problème sur la conversion de certain entier en code ascii.

quand j'envoi l'entier 129 le pic recois 26, et ceci aussi pour les code ascii 129,141,143,144 et 157.
tout les autre (donc entre 0 et 255 pour un octet bien sur) pas de problème.

voici le code:
sMessage_a_envoyer est un chaîne
sMessage_a_envoyer += Caract(0)
sMessage_a_envoyer += Caract(1)
sMessage_a_envoyer += Caract(2)
sMessage_a_envoyer += Caract(3)
sMessage_a_envoyer += Caract(129)

SI SocketEcrit("Socket"+ gsMac_adresse_machine_connectée,UnicodeVersAnsi(sMessage_a_envoyer)) = Vrai ALORS
SINON
FIN


la trame recue par le pic est 0,1,2,3,26 (26 au lieu de 129)

j'ai essayer ceci pour vérifier la commande caract()

valeur est un entier = 129
texte est une chaîne = Caract(valeur)

Info("char = " + texte)
Info("entier = " + Asc(texte))


j'ai bien 129 de retour apres la conversion asc mais c'est comme si la fonction socketecrit faisait une erreur de conversion ascii en decimale (octet 8 bit) a la transmision.

j'ai essayer avec la commande caractunicode() mais la les erreurs se déplace ce ne sont plus 129,141... mais 128,130 jusque 140, 142,145 jusque 156, 158 et 159 qui se transforme en 26.

chaque fois que le code est faux je recois 26 ???

je recois bien 1 octect par caractere et 2 octet par caracteres si je n'utilise pas la conversion UnicodeVersAnsi dans socket ecrit
mais le resultat n'est toujours pas bon.

avez vous une idée a ce sujet.

merci d'avance pour votre aide.

Vincent.