2010-02-22 6 views
2

Voici une copie de la fiche d'un microcontrôleur:Envoyer un octet de rupture avec les fenêtres com ports

caractères de saut sont un caractère plein temps de la logique 0 (y compris un 0 où le bit d'arrêt serait être normalement).

C'est ce que je veux générer avec le port COM Windows (Windows SDK). Le problème est que je ne vois pas comment mettre le stop-bit à zéro. Des idées? `

SetCommBreak() semble un peu comme ce que je veux mais je ne vois pas un moyen de l'avoir exactement chronométré pour envoyer seulement un octet.

Environnement:

  • Visual C++ (écrire du code C)
  • y compris window.h
  • sous Windows XP

Merci!

Répondre

0

Utilise-t-il le bit de parité? Sinon, vous pourriez être en mesure de définir la parité du port à SPACEPARITY et envoyer un octet de 8 bits, vous pourriez également être en mesure de changer le nombre de bits en utilisant http://msdn.microsoft.com/en-us/library/aa363143%28VS.85%29.aspx mais cela pourrait ne pas fonctionner, personnellement, je n'ai pas testé.

1

SetCommBreak() est en effet ce que vous voulez ici. Dans la plupart des cas, peu importe si la condition de coupure dure trop longtemps, tant que c'est au moins 8 bits de logique "0" - parce que le récepteur ne détectera pas le début d'un nouvel octet jusqu'à ce qu'il entende au moins un "1" bit sur la ligne.

Quel microcontrôleur utilisez-vous? Avec cette information, il pourrait être possible de confirmer si cela s'appliquerait à votre situation particulière.