[C++] Communiceren met de serial port

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Black-Xjuh
  • Registratie: Oktober 2002
  • Laatst online: 14-04 10:23
Ik ben bezig met een applicatie die communiceert met de com port.

Hiervoor heb ik op http://www.tetraedre.com/advanced/serial/ een tserial.h en tserial.c gedownload.

Deze geven mij functies als getChar en sendArray, meer dan deze twee plus connect/disconnect heb ik ook niet nodig.

Het tooltje werkt in principe redelijk, ik maak connectie, verzend en ontvang het een en ander en disconnect. 9 Van de 10 keer gaat dit dus perfect.

Alleen af en toe heb ik een probleem met timeouts of iets..

Deze zijn als volgt ingesteld:
code:
1
2
3
4
5
    cto.ReadIntervalTimeout = 0;
    cto.ReadTotalTimeoutMultiplier = 2000;
    cto.ReadTotalTimeoutConstant = 0;
    cto.WriteTotalTimeoutMultiplier = 0;
    cto.WriteTotalTimeoutConstant = 0;


Het probleem is dan dat ik verbinding maak met de com port, een start commando stuur en geen reactie krijg maar een time out, dan doe ik disconnect en geef ik een fout melding. Dit is in principe nog steeds niet echt een probleem maar na de eerste keer blijft die timeout komen, het komt niet meer goed na opnieuw connecten. Bijkomend probleem is dat ik de tweede keer wel een timeout krijg maar geen foutmelding (blijft hangen op disconnect) waardoor mijn programmaatje ook blijft hangen..

Wat zou hier een oorzaak van kunnen zijn..? De ene keer gaat het wel goed en de andere niet..

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 22:43
Is het een "echte" COM poort of een USB ding?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 03:28
Kijk eens wat GetLastError() en FormatMessage() met FORMAT_MESSAGE_FROM_SYSTEM geven wanneer een functie misgaat?

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

En die serial class/thread debuggen. Waar is die mee bezig op dat moment. Disconnect roept alleen "SetEvent" aan die denk ik niet blocked

E nhet kan ook aan het serial apparaat liggen he? Als het apparaat niet snel genoeg/te snel op start reageerd kan het zich in een staat bevinden die jij niet verwacht en dat zou ook kunnen verklaren dat je verderop vast loopt

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 22:43
leuk_he schreef op donderdag 15 oktober 2009 @ 13:06:
En die serial class/thread debuggen. Waar is die mee bezig op dat moment. Disconnect roept alleen "SetEvent" aan die denk ik niet blocked
Er is ook een blocking versie, volgens mij wordt die gebruikt door de ts.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Black-Xjuh
  • Registratie: Oktober 2002
  • Laatst online: 14-04 10:23
Het gaat inderdaad om een blocking versie.

Maar het gaat dus mis bij het disconnecten, omdat het blocking is loopt ie dan vast.

Heb het nu op een andere computer geprobeerd, hier gaat het wel altijd goed. Lijkt dus een fout in de usb naar serieel driver ofzo.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-09 22:43
Black-Xjuh schreef op vrijdag 16 oktober 2009 @ 10:41:
Het gaat inderdaad om een blocking versie.

Maar het gaat dus mis bij het disconnecten, omdat het blocking is loopt ie dan vast.

Heb het nu op een andere computer geprobeerd, hier gaat het wel altijd goed. Lijkt dus een fout in de usb naar serieel driver ofzo.
Dus het antwoord op mijn eerste vraag is: "Het is een USB ding" ?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1