Ports série Bluetooth sur PocketPC et perte de données...

Ports série Bluetooth sur PocketPC et perte de données... - C#/.NET managed - Programmation

Marsh Posté le 16-03-2009 à 15:13:14    

Je suis sur le développement d'un module de communication avec des périphériques nativement RS-232, mon objectif est de récupérer les trames envoyées soit par polling (pour un des périphs) soit par écoute pure et simple (pour l'autre).
 
L'appli "cliente", cible .NET CF 1.0 et il n'y a qu'assez peu de liberté là-dessus, le port série est piloté via une DLL tierce partie que je trouve assez limite.
 
Après un premier problème venant d'une MàJ de l'IHM par un thread externe, j'ai effectué 2 modifs successives de façon à blinder la comm autant que possible :
 
1- Passer d'un évènement porteur de données à un évènement "vide" associé à une ressource dispo publiquement (vu que le CF 1.0 n'a rien pour passer les données avec un Control.Invoke...)
2- Conserver toute éventuelle donnée dans un buffer remis à zéro par son accesseur GET (copie, suppression de l'original et retour de la copie)
 
Maintenant je suis quasi certain que le problèmelié à la perte d'infos dans le côté "soft" est réglé, d'autant que j'ai pu observer un fonctionnement parfait sous .NET CF 3.5 (je ne demande la génération d'un évènement que quand j'ai reçu la trame attendue, à l'inverse du wrapper qui se contente des ReadFile/WriteFile plantant à partir du Framework 2) mais pas sous le 1.0...
 
A votre avis, serait-il utile d'utiliser un tampon FIFO? Ca ne vous semblerait pas logique qu'il soit déjà géré?

Reply

Marsh Posté le 16-03-2009 à 15:13:14   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed