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:
la trame recue par le pic est 0,1,2,3,26 (26 au lieu de 129)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 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
j'ai essayer ceci pour vérifier la commande caract()
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 valeur est un entier = 129 texte est une chaîne = Caract(valeur) Info("char = " + texte) Info("entier = " + Asc(texte))
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.
Partager