Se connecter avec
S'enregistrer | Connectez-vous

[TComPort]Communication Bluetooth

Dernière réponse : dans Programmation

Bonjour,

Je cherche à initialiser la communication entre deux modules Bluetooth. L'un de mes module est relié à une convertisseur vers RS232 ce qui me permets de configurer ce module via un hyperterminal.

Tout marche normalement avec hyperterm.

Néanmoins, j'essaie de gérer pour le moment l'initialisation de la communication à l'aide d'un soft en Delphi (composant TComPort). Voici une partie de mon code :

Citation :

procedure TForm1.btBT_connectClick(Sender: TObject);
var
BT_Trame:String;
begin
ComPort1.OnRxChar:=nil;
ComPort1.WriteStr(#$02#$52#$26#$00#$00#$78#$03); // Reset le Bluetooth
Sleep(1000);
ComPort1.ReadStr(BT_Trame,13);
EcrireFichier(BT_Trame);
if(BT_Trame=#$02#$69#$25#$06#$00#$94#$05#$30#36#$32#$33#$00#$03) then
begin
ComPort1.WriteStr(#$02#$52#$32#$06#$00#$8A#$FC#$3F#$65#$E8#$00#$10#$03); // Connexion SDAP
ComPort1.ReadStr(BT_Trame,8);
.........



Quand j'observe à l'aide du debugger ce que je recois (la variable "BT_Trame"), j'ai bien la trame que je souhaite mais mon problème est que la condition suivante ne passe pas ! Pour lui ce qu'il n'y a pas dans la variable BT_Trame ne correspond pas à la condition (bizarre)

Est ce que quelqu'un voit le problème ? Est-ce une erreur de format dans ma condition ?

Enfin, j'utilise un Sleep parce qu'auparavant, je n'avais pas le temps de récupérer la trame voulue. N'y aurait il pas un autre moyen pour gérer la reception plus proprement ?

Merci d'avance

PS : Pour la lecture des trames recues, je n'utilise pas l'événement OnRXChar parce que je l'utilise déjà dans mon problème. C'est pour cela que je bloque l'événement au debut de ma fonction)
Lassé par la pub ? Créez un compte
Expert Programmation

[ Au lieu de QUOTE utilise CODE pour présenter ton code, s'il te plaît. Le bouton devrait t'aider à faire ça facilement ]


:/ 
C'est délicat de gérer des trames comme des strings. A cause du #0 en particulier. QUoi que le pascal devrait être un peu à l'abri de ce genre de chose.

Pour être sûr de toi, écris une fonction pour comparer ta trame avec ta constante caractère par caractère.
Lassé par la pub ? Créez un compte