begin process at 2012 05 29 14:02:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Périphériques

 > 

port serie : bit de start


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

port serie : bit de start

mercredi 27 juillet 2005 à 12:36:09 | port serie : bit de start

Tenji

Bonjour à tous,
Je débute et j'ai quelques questions à propos de l'API windows
Je dois communiquer avec un melangeur video via un port série et les trames des messages que je dois envoyer sont de la forme suivante :
[1 bit de start] [8 bits de données][1bit de parité][1 bit de stop].
Le problème est que dans la structure DCB il est possible de définir uniquement si on veut le bit de parité et les bits de stop, il n'y a pas de bit de start.
Est-ce que celà fonctionnerait si je mettais le ByteSize à 9 au lieu de 8 ? on aurait alors (je pense) :
[9 bits de données][1bit de parité][1 bit de stop], le bit rajouté servant de bit de start.

Autre chose, je souhaite fixer la sortie Tx du port série soit à l'état 1 soit à l'état 0.
Est-que les commandes  "EscapeCommFunction(hcom, SETBREAK)" et "EscapeCommFunction(hcom, CLRBREAK)" jouent ce rôle ?

Merci d'avance

mercredi 27 juillet 2005 à 15:42:59 | Re : port serie : bit de start

ricky78

Bonjour,

Premierement de base une trame RS232 a forcement un bit de start donc tu dois dans la structure DCB parametrer uniquement 8 bits de donnees, 1 de parite et 1 de stop. La longueur du bit de start dependant bien entendu du baudrate.

deuxiemement la fonction escapecommfunction ne permet pas de positionner directement la sortie Tx à 1 ou à 0. Celle-ci permet de controler uniquement les pattes DTR,DTS,CTR,CTS et le BREAK.
Si tu veux fixer la patte Tx à un niveau logique 1 ou 0 tu le peux uniquement en ecrivant 11111111b ou 00000000b sur le port.
Bien entendu ce niveau sera dans une trame, si c'est un niveau logique continu que tu veux controler sert toi plutot de la patte DTR de la com en n'utilisant pas le controle de flux .

cordialemnent



TOCHE
mercredi 27 juillet 2005 à 17:40:18 | Re : port serie : bit de start

Tenji

Je te remercie de ta réponse tu m'as déjà bien éclairé.
Mais en fait avant d'envoyer des trames, il faut que je transmette 17 à 20 bits à l'état 0 puis 2 bit ou plus à l'état 1 pour que l'appareil avec laquelle je communique se mette à l'état actif ( ils appellent ça le "break character" dans la doc), donc je ne peux pas utiliser la patte DTR, ni écrire 11111111b ou 00000000b sur le port je pense.
jeudi 28 juillet 2005 à 08:03:05 | Re : port serie : bit de start

ricky78

Ce sue je ne comprends pas et que toute communication sur le port serie via la sortie Tx est formaté par un bit de start le nombre de bit de donné le bit de parite et le bit de stop, c'est un standard.
Si ton appareil a besoin d'autre chose qu'un format standard pour s'initialiser cela ne peut etre sur la sortie TX qui ne te permettra que d'avoir 8 ou 9 bits à l'etat bas.

Si c'est relleement 20 bits à OL sur le TX je ne vois pas, par contre si c'est un temps à l'etat bas tu peux jouer en diminuant au debut le baudrate au min et lancer un 00000000b mas normalement in doit pas y  avoir de communication non tramé sur le port serie..

Si tu as plus d'info, je suis un peu dans le flou



TOCHE
jeudi 28 juillet 2005 à 09:42:06 | Re : port serie : bit de start

Tenji

C'est peut-être moi qui n'ai pas bien compris, dans la doc il est écrit :
"Break Character". The conerstone of the... protocols is the 1-1/2 characterlength "Break", which is a spacing or a logical low condition on the serial bus. The Break is transmitted by the Bus Controller and serves to get the attention of all tributaries on the bus prior to transmitting a message."

Apres il y a un schema qui montre à quoi ressemble le break character, les infos à en tirer sont les suivantes :

break charater :
[spacing data, 17 to 20 bit times (etat 0)][marking data, 2 or more bit tiles] ensuite debut des trames
1 bit time = 26 µs à 38,4k

Merci d'avance

jeudi 28 juillet 2005 à 10:04:51 | Re : port serie : bit de start

ricky78

Cela veut dire que ce melangeur doit etre commander par une liason serie serie proprietaire que tu cree a partir d'un microcontroleur ou d'un DSP, mais je ne vois pas comment faire passer 20 bits a l'etat bas sur une RS232 standard provenant d'un PC a moins de le faire en assembleur en mode DOS.

Cordialement

TOCHE
vendredi 29 juillet 2005 à 13:24:33 | Re : port serie : bit de start

Tenji

En relisant la doc, j'ai vu qu'on peut en fait s'affranchir du break character en utilisant une version simplifié du protocole, donc c'est bon.
Merci à vous.



Cette discussion est classée dans : port, start, bits, bit, parité


Répondre à ce message

Sujets en rapport avec ce message

port com RTS ou CTS [ par mouloudh ] bonjour la communauté, je developpe une application, et j'ai besoin de commander une carte sur port serie. seulement, je désire envoyer des mots (0x00 Pb - Concatenation de chaines de bits [ par TigreVert ] Bonjour,Je dois realiser un projet de compression de huffman (je sais ya deja des exemples sur ce site).Le pb du jour ... j'ai recupéré les codes de h les Bits [ par xelados ] Bonjour je suis nouveau ici et pas tres experimenter en c++ je fait cela pour mon propre plaisir personnel jai msvc++ 2003.net comme compilateurbon ma Mettre des bits dans un tableau ? [ par adess00 ] CoucouJe fai un prog de cryptage 16 bits et pour sa je recupere le message entree, et apres je voudrai le convertir en bit et mettre les bits dans un librairie *.lib (16 bits et 32 bit)????? avec TC++3.0 vers VC++ [ par louatiamin ] bon le probleme est ke je crée une librarie 16 bits (mode real) avec tc++ 3.0et lors de l'utilisation de cettte librarie dans un programme avec vc++ AU SECOURS SVP 4 bits à lire sur un port // [ par darkphana ] :-)Bonjour j'ai besoin d'aide je débute en c et je ne capte rien je doit lire 4 bits sur le port // et je dois utiliser le langage c et pas du c++ voi 4 bits a lire sur un port parrallele [ par darkphana ] :-)Bonjour tout le mondePouvez vous m'aider Je doit lire des données sur le port parralele avec un vieux ordi et en c qui marche sous dos.voilà mon pr test du port parallele [ par zackzack ] Salut, j'essaie de faire un prog pour commander mon port parallele, j'ai essayé d'écrire dans le registre 0x379 du port, grosse erreur....j'ai peut et port serie : manipulation des bits [ par tobby ] Bonjour, je cherche a maitriser l'ensemble des pins du port serie, independement de tout protocol, en C.Est-ce que qqn aurait une solution?merci d'ava champ de bits [ par obasileus ] Bonjour,je souhaiterai savoir comment faire pour déclarer un champs de bits et pouvoir ensuite accéder à la structure complète genre :typedef struct{ 


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,716 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales