<?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[2 Befehle alle n Sekunden alternieren]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte innerhalb einer while-schleife (!!!) einen Befehl alle n Sekunden alternieren. Die Sekunden auszulesen ist dabei kein Problem.<br />
Ich hänge nur an der logischen Programmierung meine Vorhabens. Sicherlich gibt es hier irgendeinen gefinkelten Trick, helft mir bitte mal auf die Sprünge...</p>
<pre><code class="language-cpp">int n = 5;

        if (ZeitinSekunden % n != 0)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;ein&quot;);
        }
        else
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;aus&quot;);
        }
</code></pre>
<p>Der Untestehende Code funzt auch ned, weil die while schleife mehrmals in einer Sekunde die abfrage durchläuft (kann ich leider ned ändern)...</p>
<pre><code class="language-cpp">int n = 5;

        if (Zeitruehr % n == 0 &amp;&amp; Ruehrwerkstatus1 == &quot;aus&quot; &amp;&amp; einmal == 1)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;ein&quot;);
            einmal = 0;
        }
        else
        {
            einmal = 1;
        }

        if (Zeitruehr % n == 0 &amp;&amp; Ruehrwerkstatus1 == &quot;ein&quot; &amp;&amp; einmal == 3)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;aus&quot;);
            einmal = 2;
        }
        else
        {
            einmal = 3;
        }
</code></pre>
<p>Thx, LeFish!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173789/2-befehle-alle-n-sekunden-alternieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 12:12:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173789.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Feb 2007 21:02:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 Befehle alle n Sekunden alternieren on Mon, 19 Feb 2007 21:02:11 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte innerhalb einer while-schleife (!!!) einen Befehl alle n Sekunden alternieren. Die Sekunden auszulesen ist dabei kein Problem.<br />
Ich hänge nur an der logischen Programmierung meine Vorhabens. Sicherlich gibt es hier irgendeinen gefinkelten Trick, helft mir bitte mal auf die Sprünge...</p>
<pre><code class="language-cpp">int n = 5;

        if (ZeitinSekunden % n != 0)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;ein&quot;);
        }
        else
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;aus&quot;);
        }
</code></pre>
<p>Der Untestehende Code funzt auch ned, weil die while schleife mehrmals in einer Sekunde die abfrage durchläuft (kann ich leider ned ändern)...</p>
<pre><code class="language-cpp">int n = 5;

        if (Zeitruehr % n == 0 &amp;&amp; Ruehrwerkstatus1 == &quot;aus&quot; &amp;&amp; einmal == 1)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;ein&quot;);
            einmal = 0;
        }
        else
        {
            einmal = 1;
        }

        if (Zeitruehr % n == 0 &amp;&amp; Ruehrwerkstatus1 == &quot;ein&quot; &amp;&amp; einmal == 3)
        {
            Ruehrwerkstatus1 = Ruehrwerk1( &quot;aus&quot;);
            einmal = 2;
        }
        else
        {
            einmal = 3;
        }
</code></pre>
<p>Thx, LeFish!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1231546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231546</guid><dc:creator><![CDATA[LeFish]]></dc:creator><pubDate>Mon, 19 Feb 2007 21:02:11 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Befehle alle n Sekunden alternieren on Mon, 19 Feb 2007 22:50:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(bedingung)
{
    einschalten();
    warten();
    ausschalten();
    warten();
}
</code></pre>
<p>Wenn du die Sekunden auslesen kannst, kannst du dir ein warten() schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1231583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231583</guid><dc:creator><![CDATA[pock]]></dc:creator><pubDate>Mon, 19 Feb 2007 22:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Befehle alle n Sekunden alternieren on Tue, 20 Feb 2007 21:19:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">unsigned letzte_ruehrwerk_umschalt_zeit = 0;
bool ruehrwerk_zustand = false; // aus
unsigned n = 5;

// ...

while (blubb)
{
    // ...

    unsigned t = ZeitInSekunden();
    if ((t - letzte_ruehrwerk_umschalt_zeit) &gt;= 5)
    {
        ruehrwerk_zustand = !ruehrwerk_zustand;
        steuere_ruehrwerk(ruehrwerk_zustand);
        letzte_ruehrwerk_umschalt_zeit = t;
    }

    // ...
}
</code></pre>
<p>ZeitInSekunden muss dabei natürlich eine Monotone Realtime Clock sein, also am besten NICHT die Systemzeit sondern z.B. etwas was auf GetTickCount() (Windows) oder clock_gettime(CLOCK_MONOTONIC, ...) (POSIX) basiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232315</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 20 Feb 2007 21:19:15 GMT</pubDate></item></channel></rss>