<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme mit COM-Port !]]></title><description><![CDATA[<p>Ich hab ein Problem mit COM-Ports undzwar</p>
<p>ich fang von Transpondern IDs ab, dazu muss ich zu 4 Transponder gleichzeitig connecten. Die Transponder hängen dazu an den Com Ports, wenn ich aber zu mehr als 2 Schnittstellen gleichzeitig connecte bekomm ich einen Fehler.</p>
<p>Code:</p>
<pre><code>//*****************************
//** Initalisieren von Com 1 **
//*****************************

   DCB dcb1;
      ZeroMemory (&amp;dcb1, sizeof(dcb1));
	dcb1.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom1, &amp;dcb1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom1 = CreateFile ( &quot;Com1&quot;,GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb1.DCBlength = 10; //sizeof(DCB);
    GetCommState (hCom1, &amp;dcb1);
    dcb1.BaudRate = 9600;
    dcb1.ByteSize = 8;
    dcb1.Parity = 1;
    dcb1.StopBits = ONESTOPBIT;
    SetCommState (hCom1, &amp;dcb1);

 if (!GetCommTimeouts(hCom1, &amp;timeouts_alt1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts1;
   timeouts1.ReadIntervalTimeout = 100 ;
   timeouts1.ReadTotalTimeoutMultiplier = 30 ;
   timeouts1.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom1, &amp;timeouts1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom1 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com1 AUF meldet Störungen. Bitte starten Sie das Programm neu auf&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

//*****************************
//** Initalisieren von Com 2 **
//*****************************

    DCB dcb2;
      ZeroMemory (&amp;dcb2, sizeof(dcb2));
	dcb2.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom2, &amp;dcb2))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom2 = CreateFile ( &quot;Com2&quot;, GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb2.DCBlength = sizeof(DCB);
    GetCommState (hCom2, &amp;dcb2);
    dcb2.BaudRate = 9600;
    dcb2.ByteSize = 8;
    dcb2.Parity = 1;
    dcb2.StopBits = ONESTOPBIT;
    SetCommState (hCom2, &amp;dcb2);

 if (!GetCommTimeouts(hCom2, &amp;timeouts_alt2))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts2;
   timeouts2.ReadIntervalTimeout = 100 ;
   timeouts2.ReadTotalTimeoutMultiplier = 30 ;
   timeouts2.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom2, &amp;timeouts2))
   {
		DWORD dwError = GetLastError();
	        Close ();
		SetLastError(dwError);

   }

     if (hCom2 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com2 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

//*****************************
//** Initalisieren von Com 3 **
//*****************************
/*
    DCB dcb3;
      ZeroMemory (&amp;dcb3, sizeof(dcb3));
      dcb3.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom3, &amp;dcb3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom3 = CreateFile ( &quot;Com3&quot;, GENERIC_WRITE | GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb3.DCBlength = sizeof(DCB);
    GetCommState (hCom3, &amp;dcb3);
    dcb3.BaudRate = 9600;
    dcb3.ByteSize = 8;
    dcb3.Parity = 1;
    dcb3.StopBits = ONESTOPBIT;
    SetCommState (hCom3, &amp;dcb3);

 if (!GetCommTimeouts(hCom3, &amp;timeouts_alt3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts3;
   timeouts3.ReadIntervalTimeout = 100 ;
   timeouts3.ReadTotalTimeoutMultiplier = 30 ;
   timeouts3.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom3, &amp;timeouts3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom3 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com3 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }
  */
//*****************************
//** Initalisieren von Com 4 **
//*****************************

    DCB dcb4;
      ZeroMemory (&amp;dcb4, sizeof(dcb4));
	dcb4.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom4, &amp;dcb4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom4 = CreateFile ( &quot;Com4&quot;, GENERIC_WRITE | GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb4.DCBlength = sizeof(DCB);
    GetCommState (hCom4, &amp;dcb4);
    dcb4.BaudRate = 9600;
    dcb4.ByteSize = 8;
    dcb4.Parity = 1;
    dcb4.StopBits = ONESTOPBIT;
    SetCommState (hCom4, &amp;dcb4);

 if (!GetCommTimeouts(hCom4, &amp;timeouts_alt4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts4;
   timeouts4.ReadIntervalTimeout = 100 ;
   timeouts4.ReadTotalTimeoutMultiplier = 30 ;
   timeouts4.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom4, &amp;timeouts4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom4 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com4 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

}
</code></pre>
<p>Das ist das initialisieren der Ports .</p>
<p>So jetzt bekomm ich in INVALID_HANDLE_VALUE nen Fehler, weiß jemand warum oder wie ich den umgehen könnte. Ich denke die Stören sich einfach gegenseitig.</p>
<p>Und sonst mal so als Frage hat der Borland Builder nicht ein Modul mit dem man vielleicht auf die COM Ports connetcen kann, das dann irgenwie die Steuerung übernimmt ?</p>
<p>Danke schon mal ...</p>
<p>MUKUMUKU</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135827/probleme-mit-com-port</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 04:43:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135827.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Feb 2006 13:22:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit COM-Port ! on Sun, 05 Feb 2006 13:22:48 GMT]]></title><description><![CDATA[<p>Ich hab ein Problem mit COM-Ports undzwar</p>
<p>ich fang von Transpondern IDs ab, dazu muss ich zu 4 Transponder gleichzeitig connecten. Die Transponder hängen dazu an den Com Ports, wenn ich aber zu mehr als 2 Schnittstellen gleichzeitig connecte bekomm ich einen Fehler.</p>
<p>Code:</p>
<pre><code>//*****************************
//** Initalisieren von Com 1 **
//*****************************

   DCB dcb1;
      ZeroMemory (&amp;dcb1, sizeof(dcb1));
	dcb1.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom1, &amp;dcb1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom1 = CreateFile ( &quot;Com1&quot;,GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb1.DCBlength = 10; //sizeof(DCB);
    GetCommState (hCom1, &amp;dcb1);
    dcb1.BaudRate = 9600;
    dcb1.ByteSize = 8;
    dcb1.Parity = 1;
    dcb1.StopBits = ONESTOPBIT;
    SetCommState (hCom1, &amp;dcb1);

 if (!GetCommTimeouts(hCom1, &amp;timeouts_alt1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts1;
   timeouts1.ReadIntervalTimeout = 100 ;
   timeouts1.ReadTotalTimeoutMultiplier = 30 ;
   timeouts1.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom1, &amp;timeouts1))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom1 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com1 AUF meldet Störungen. Bitte starten Sie das Programm neu auf&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

//*****************************
//** Initalisieren von Com 2 **
//*****************************

    DCB dcb2;
      ZeroMemory (&amp;dcb2, sizeof(dcb2));
	dcb2.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom2, &amp;dcb2))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom2 = CreateFile ( &quot;Com2&quot;, GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb2.DCBlength = sizeof(DCB);
    GetCommState (hCom2, &amp;dcb2);
    dcb2.BaudRate = 9600;
    dcb2.ByteSize = 8;
    dcb2.Parity = 1;
    dcb2.StopBits = ONESTOPBIT;
    SetCommState (hCom2, &amp;dcb2);

 if (!GetCommTimeouts(hCom2, &amp;timeouts_alt2))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts2;
   timeouts2.ReadIntervalTimeout = 100 ;
   timeouts2.ReadTotalTimeoutMultiplier = 30 ;
   timeouts2.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom2, &amp;timeouts2))
   {
		DWORD dwError = GetLastError();
	        Close ();
		SetLastError(dwError);

   }

     if (hCom2 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com2 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

//*****************************
//** Initalisieren von Com 3 **
//*****************************
/*
    DCB dcb3;
      ZeroMemory (&amp;dcb3, sizeof(dcb3));
      dcb3.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom3, &amp;dcb3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom3 = CreateFile ( &quot;Com3&quot;, GENERIC_WRITE | GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb3.DCBlength = sizeof(DCB);
    GetCommState (hCom3, &amp;dcb3);
    dcb3.BaudRate = 9600;
    dcb3.ByteSize = 8;
    dcb3.Parity = 1;
    dcb3.StopBits = ONESTOPBIT;
    SetCommState (hCom3, &amp;dcb3);

 if (!GetCommTimeouts(hCom3, &amp;timeouts_alt3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts3;
   timeouts3.ReadIntervalTimeout = 100 ;
   timeouts3.ReadTotalTimeoutMultiplier = 30 ;
   timeouts3.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom3, &amp;timeouts3))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom3 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com3 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }
  */
//*****************************
//** Initalisieren von Com 4 **
//*****************************

    DCB dcb4;
      ZeroMemory (&amp;dcb4, sizeof(dcb4));
	dcb4.DCBlength = sizeof(DCB);

   if (!GetCommState (hCom4, &amp;dcb4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

    hCom4 = CreateFile ( &quot;Com4&quot;, GENERIC_WRITE | GENERIC_READ, 0, NULL,
    OPEN_EXISTING, 0, NULL);
    dcb4.DCBlength = sizeof(DCB);
    GetCommState (hCom4, &amp;dcb4);
    dcb4.BaudRate = 9600;
    dcb4.ByteSize = 8;
    dcb4.Parity = 1;
    dcb4.StopBits = ONESTOPBIT;
    SetCommState (hCom4, &amp;dcb4);

 if (!GetCommTimeouts(hCom4, &amp;timeouts_alt4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

   COMMTIMEOUTS timeouts4;
   timeouts4.ReadIntervalTimeout = 100 ;
   timeouts4.ReadTotalTimeoutMultiplier = 30 ;
   timeouts4.ReadTotalTimeoutConstant = 200; // Timeout ist 3000ms

    if (!SetCommTimeouts(hCom4, &amp;timeouts4))
   {
		DWORD dwError = GetLastError();
		Close ();
		SetLastError(dwError);

   }

     if (hCom4 == INVALID_HANDLE_VALUE)
   {
        Application-&gt;NormalizeTopMosts();
        Application-&gt;MessageBox(&quot;Com4 meldet Störungen. Bitte starten Sie das Programm neu&quot;, &quot;Achtung&quot;, MB_OK);
        Application-&gt;RestoreTopMosts();
   }

}
</code></pre>
<p>Das ist das initialisieren der Ports .</p>
<p>So jetzt bekomm ich in INVALID_HANDLE_VALUE nen Fehler, weiß jemand warum oder wie ich den umgehen könnte. Ich denke die Stören sich einfach gegenseitig.</p>
<p>Und sonst mal so als Frage hat der Borland Builder nicht ein Modul mit dem man vielleicht auf die COM Ports connetcen kann, das dann irgenwie die Steuerung übernimmt ?</p>
<p>Danke schon mal ...</p>
<p>MUKUMUKU</p>
]]></description><link>https://www.c-plusplus.net/forum/post/986414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/986414</guid><dc:creator><![CDATA[mukumuku]]></dc:creator><pubDate>Sun, 05 Feb 2006 13:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit COM-Port ! on Sun, 05 Feb 2006 16:49:29 GMT]]></title><description><![CDATA[<p>Für die serielle Schnittstelle Rate ich Dir dringend eine fertige Klasse zu verwenden! Oder schau zumindest den Source an, damit Du weisst wie man es macht:<br />
<a href="http://www.codeproject.com/system/serial.asp" rel="nofollow">http://www.codeproject.com/system/serial.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/986643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/986643</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 05 Feb 2006 16:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit COM-Port ! on Sun, 05 Feb 2006 17:56:12 GMT]]></title><description><![CDATA[<p>Lern erstmal for-Schleifen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/986721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/986721</guid><dc:creator><![CDATA[SCNR]]></dc:creator><pubDate>Sun, 05 Feb 2006 17:56:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit COM-Port ! on Mon, 06 Feb 2006 23:15:56 GMT]]></title><description><![CDATA[<p>GetLastError gibt den Fehler des letzten Api-Aufrufs zuvor zurück. Ruf GetLastError also direkt nach CreateFile auf, um den Grund für das Scheitern beim Öffnen zu erfahren. Vermutlich sind bei Dir nicht mehr als 2 Comports installiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/988144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988144</guid><dc:creator><![CDATA[mgs]]></dc:creator><pubDate>Mon, 06 Feb 2006 23:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit COM-Port ! on Tue, 07 Feb 2006 20:32:26 GMT]]></title><description><![CDATA[<p>[quote=&quot;SCNR&quot;]Lern erstmal for-Schleifen. :D[/quote] LOL <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/988947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988947</guid><dc:creator><![CDATA[Buddy Love]]></dc:creator><pubDate>Tue, 07 Feb 2006 20:32:26 GMT</pubDate></item></channel></rss>