Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : com. série rs232 config port [ Windows / Réseau & Internet ] (LaTatadu91)

vendredi 1 juin 2007 à 11:50:37 | com. série rs232 config port

LaTatadu91

Bonjour,

Voila je cherche a developer une communication sur un port com (rs232)
et je cherche des infos ou de l'aide sur la configuration du port.
D'apres le maigre document dont je dispose je sais que:
"chaque échange se compose de 11 moments:
       1 start
       8 moments d'infos
       1 parité paire
       1 stop"

alors voila ma question est comment traduire cela au niveau du DCB ?
voici mon code actuel mais je ne pense pas que cela corresponde avec ce que je dosi faire:
    dcb.BaudRate = CBR_9600;
    dcb.fParity = FALSE;
    dcb.ByteSize = 8;
    dcb.StopBits = ONESTOPBIT;

surtout pr la parité paire!
bon si quelqu'un s'y connait ca serait sympa,j'aurais aussi peut etre quelques questions sur les comm séries en général si possible...
merci d'avance!

 


vendredi 1 juin 2007 à 12:24:11 | Re : com. série rs232 config port

max12

Administrateur CodeS-SourceS
Réponse acceptée !
http://msdn2.microsoft.com/en-us/library/aa363214.aspx

Tout ce que tu dois savoir se trouve là. Pour la parité paire tu met .Parity = ODDPARITY ou EVENPARITY pour impair.

A+

vendredi 1 juin 2007 à 13:18:21 | Re : com. série rs232 config port

LaTatadu91

oki deja merci pr le coup de la parité car pr moi odd et even c'est pas tres parlant!

je vais de ce pas sur le site pr les infos!

 


vendredi 1 juin 2007 à 13:26:33 | Re : com. série rs232 config port

LaTatadu91

re, tu pourrais m'aider a comprendre l'overlapped?
notament ceci:
// tant que le thread est actif
    while(pManager->m_bReadThreadRunning)
    {
        // attente de la réception d'un caractère
        DWORD dwEvtMask = 0;
        OVERLAPPED ov = {0};
        ov.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
        if(!pManager->m_pComm->WaitEvent(&dwEvtMask, &ov))
        {
            // si toujours en attente
            if(GetLastError() == ERROR_IO_PENDING)
            {
                // on attent que l'opération se termine ou qu'elle soit interrompue
                // (lors de l'appel à SetEvtMak(0) à la deconnexion par exemple)
                DWORD dwResult;
                while(!GetOverlappedResult(pManager->m_pComm->GetHandle(), &ov,
                        &dwResult, TRUE))
                {
                    if(GetLastError() != ERROR_IO_INCOMPLETE)
                        break;
                }
            }
        }

        // lecture si des caractères ont été reçus
        if(dwEvtMask & EV_RXCHAR)
        {
            // lecture des données
            DWORD dwLength;
            BYTE buffer[RX_SIZE+1];
            do
            {
                // lecture d'un bloc
                dwLength = pManager->ReadBlock(buffer, RX_SIZE);

                // envoi des données à la fenêtre
                if(dwLength > 0)
                {
                    // ajout NUL de terminaison
                    buffer[dwLength] = '\0';
                }
            }while(dwLength > 0 && pManager->m_bReadThreadRunning);
        }
        CloseHandle(ov.hEvent);


que j'ai trouver sur ce site!
la question que je me pose est est ce bloquant?
ou si on ne lit rien peut on effectuer d'autre trucs dans ce thread?
merci de me repondre si t'as un peu de temps!

 


samedi 2 juin 2007 à 20:49:26 | Re : com. série rs232 config port

MadMax1024

Membre Club
Salut si tu veut j'ai déposé une source pour la communication rs232 sa peut t'aider à toi de voir

lundi 4 juin 2007 à 11:02:35 | Re : com. série rs232 config port

LaTatadu91

oki je vais voir ton code
et si j'ai des questions ben je reviens te voir ;-)
merci bcp!

 


lundi 4 juin 2007 à 11:32:52 | Re : com. série rs232 config port

LaTatadu91


Bon je te remercie mais ton code est tres bien pour une prise en main simple et basique dirais-je...
ouvrir lire et ecrire puis afficher!

mais perso je cherche plus des infos sur la gestion du thread de lecture ainsi que la gestion des evenements!!!

si tu t'y connais ....

 




Cette discussion est classé dans : port, série, config, rs232, dcb


Répondre à ce message

Sujets en rapport avec ce message

port série et WriteFile ! [ par nanalye ] Bonjour tout le monde !Voilà mon pb : je veux envoyer des entiers par le port série avec WriteFile.Voici le programme que je lance ://ouverture du por Besoin d'un coup de main dans la rélisation d'une application Win32 en langage C [ par sim_richard286 ] Je suis actuellement étudiant en GEII 2ième année et je souhaiterais avoir une petite aide pour la réalisation d'une application Win32 en C. RS232 en USB [ par sirdeneb ] Bonjour à tous, J'ai un programme en cpp qui communique avec une carte d'acquisition sur le port série. Or étant obligé de changer de PC qui lui n'a Conception d'un multiplexeur RS232 [ par CleFac ] Bonjour,J'ai une connexion RS232 en E/S. Les données entrantes sur ma connexion RS232 sont écrites sur une/des socket(s).Maintenant les données entran RS232 sous vb.net 2005 [ par dragonfly95 ] bonjour, je cherche à ouvrir un port RS232 sur un PC sous vb.net 2005 en MFC mais il ne veut jamais l'ouvrir. J'utilise la fonction CreateFile(,,,,) m port série RS232 [ par woudi2008 ] Bonjour,Je suis entrein de réaliser une communication série RS232 entre un pc et un PIC18F4220. j'utilise borland c++ builder du coté du PC et Mplab d classe communication port série [ par totoscill ] Bonjour à tous,Je me lance dans la communication entre mon PC et un GPS via le PORT série COM1.Malheureusement je n'ai jamais travailler avec le port Créer un .exe qui envoie un message sur le port série... [ par Crepuscule3 ] Bonjour à tous...     je suis étudiant en master orienté électronique. Dans le cadre du projet de fin d'étude, j'aurais besoin de traiter une applicat chronometre rs232 [ par Raf15 ] Bonjour a tous,Je suis étudiant en DUT réseau et telecom et je dois programmer un chronometre... Explication : un circuit de voiture miniature (2 voit Communication Série RS232 - Pb d'affichage de caractères [ par bracqjean ] Bonjour,Je suis débutant en C. J'ai besoin de transmettre des données sur le port COM d'un PC, à destination d'un variateur. Le but est d'envoyer une


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.