<?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[Zeitfenster]]></title><description><![CDATA[<p>Ich bekomme &quot;impulsmäßig&quot; WindowsNachrichten(RS232), die eine Funktion auslösen.<br />
Gibt es eine Möglichkeit zu sagen, das wenn nach X Sekunden keine Nachricht eintrifft, dann beende eine Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153798/zeitfenster</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 09:52:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153798.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Jul 2006 14:46:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeitfenster on Thu, 20 Jul 2006 14:46:29 GMT]]></title><description><![CDATA[<p>Ich bekomme &quot;impulsmäßig&quot; WindowsNachrichten(RS232), die eine Funktion auslösen.<br />
Gibt es eine Möglichkeit zu sagen, das wenn nach X Sekunden keine Nachricht eintrifft, dann beende eine Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101311</guid><dc:creator><![CDATA[Sveniemenie]]></dc:creator><pubDate>Thu, 20 Jul 2006 14:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitfenster on Thu, 20 Jul 2006 15:55:11 GMT]]></title><description><![CDATA[<p>Sveniemenie schrieb:</p>
<blockquote>
<p>Ich bekomme &quot;impulsmäßig&quot; WindowsNachrichten(RS232), die eine Funktion auslösen.<br />
Gibt es eine Möglichkeit zu sagen, das wenn nach X Sekunden keine Nachricht eintrifft, dann beende eine Funktion?</p>
</blockquote>
<p>Vielleicht so etwas?</p>
<pre><code class="language-cpp">struct MyThreadData{
    HANDLE hEvent;
    BOOL volatile bRun;
};

unsigned WarteAufNachrichten( MyThreadData * p ){
    while(InterlockedExchangeAdd((LONG volatile*)&amp;p-&gt;bRun,0)){
        int nachricht = Warte(); // blockierend
        SetEvent(*p);
    }
    return 0;
}

int main(){
    unsigned threadID = 0;
    MyThreadData * data = new MyThreadData();

    data-&gt;bRun = FALSE;
    data-&gt;hEvent = CreateEvent(0,0,0,0);

    HANDLE hThread = (HANDLE)_beginthreadex( NULL, 0, &amp;WarteAufNachrichten, NULL, data , &amp;threadID );

    // Solange kein timeout oder ein anderer Fehler aufgetreten ist
    while(WaitForSingleObject(data-&gt;hEvent,3000) == WAIT_OBJECT_0);

    InterlockedExchange((LONG volatile*)&amp;data-&gt;bRun,FALSE);

    TerminateThread(hThread,0);

    CloseHandle(data-&gt;hEvent);
    CloseHandle(hThread);

    delete data;

    return 0;
}
</code></pre>
<p>BR<br />
Vinzenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101341</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Thu, 20 Jul 2006 15:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitfenster on Thu, 20 Jul 2006 17:26:05 GMT]]></title><description><![CDATA[<p>Sorry, das ist zu schwer für mich.<br />
Ich habe folgendes Problem.<br />
Ich habe zwei Buttons in meinem Dialogfeld, Empfangen und Senden.<br />
Wenn ich Empfangen betätige, starte ich meine serielle Abfrage.<br />
(Ich frage über Windowsnachrichten ab (CSerial)).<br />
Während ich empfange wird mein Messwert ja auch immer brav aktualisiert,<br />
aber wenn die Verbindung abreisst,kommt kein Alarm und der Wert ändert sich<br />
logischerweise nicht auf 0. Dies versuche ich zu ändern.</p>
<p>Vieleicht gibts eine einfachere Lösung...vieleicht :p</p>
<p>Viele Grüße</p>
<p>Sven</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101406</guid><dc:creator><![CDATA[Sveniemenie]]></dc:creator><pubDate>Thu, 20 Jul 2006 17:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitfenster on Fri, 21 Jul 2006 07:25:28 GMT]]></title><description><![CDATA[<p>ich mach grad was ähnliches... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>bau dir ne uhr, merk dir den Zeitpunkt des letzten eintreffens von nem impuls.<br />
zähle weiter, und zieh jeweils letzte gespeicherte uhrzeit von der aktuellen ab (ich muss was ähnliches machen und verwende GetTickCount() weil ich Genauigkeit brauch). und wenn dein wert größer ist als du willst (sek. von mir aus) sagst du in deiner abfragen schleife einfach break;</p>
<p>ich hoff du kannst dir was drunter vorstellen wie ich das gemeint hab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101601</guid><dc:creator><![CDATA[chefcamper]]></dc:creator><pubDate>Fri, 21 Jul 2006 07:25:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitfenster on Fri, 21 Jul 2006 08:03:57 GMT]]></title><description><![CDATA[<p>Ja das ist genau in meine Richtung gedacht <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="👍"
    /><br />
Ich komm leider erst nächste Woche dazu, das umzusetzten.<br />
Vielen dank schon mal</p>
<p>Sven</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101609</guid><dc:creator><![CDATA[Sveniemenie]]></dc:creator><pubDate>Fri, 21 Jul 2006 08:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitfenster on Fri, 21 Jul 2006 08:17:49 GMT]]></title><description><![CDATA[<p>hätte dir nen fetzen code gepostet, aber soweit bin ich selber noch net :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1101616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1101616</guid><dc:creator><![CDATA[chefcamper]]></dc:creator><pubDate>Fri, 21 Jul 2006 08:17:49 GMT</pubDate></item></channel></rss>