<?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[timer]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich möchte in VC++ in einem Abstand von zehn Millisekunden eine bestimmte Prozedur aufrufen. dass es mit Timer machbar weiss ich, und hab folgendes geschrieben:</p>
<pre><code class="language-cpp">void CTestDlg::OnTimer(UINT nIDEvent)
{

    if (time = nIDEvent)
		{
			OnReadSlave;
			KillTimer(time);

			time = SetTimer(ID_CLOCK_TIMER,1000,NULL);
		} 
	CDialog::OnTimer(nIDEvent);
}
</code></pre>
<p>das Ereignis ReadSlave muss nach zehn Millisekunden auslöst werden.<br />
kann mir eine helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146832/timer</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 18:54:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146832.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 May 2006 11:11:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:22:36 GMT]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich möchte in VC++ in einem Abstand von zehn Millisekunden eine bestimmte Prozedur aufrufen. dass es mit Timer machbar weiss ich, und hab folgendes geschrieben:</p>
<pre><code class="language-cpp">void CTestDlg::OnTimer(UINT nIDEvent)
{

    if (time = nIDEvent)
		{
			OnReadSlave;
			KillTimer(time);

			time = SetTimer(ID_CLOCK_TIMER,1000,NULL);
		} 
	CDialog::OnTimer(nIDEvent);
}
</code></pre>
<p>das Ereignis ReadSlave muss nach zehn Millisekunden auslöst werden.<br />
kann mir eine helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055502</guid><dc:creator><![CDATA[Switi]]></dc:creator><pubDate>Thu, 11 May 2006 11:22:36 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:18:23 GMT]]></title><description><![CDATA[<p>Switi schrieb:</p>
<blockquote>
<p>dass es mit Timer machbar weiss ich</p>
</blockquote>
<p>Siehst du, hier liegst du schon falsch.</p>
<p>Windows-Timer sind für solche Anwendungen weder gedacht noch geeignet. Du stellst deinen Timer übrigens auf eine Sekunde, nicht auf 10 ms.</p>
<p>Und das hier</p>
<pre><code class="language-cpp">OnReadSlave;
</code></pre>
<p>ist kein Funktionsaufruf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055511</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 11:18:23 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:21:52 GMT]]></title><description><![CDATA[<p>Der zweite Parameter von <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CWnd.3a3a.SetTimer.asp" rel="nofollow">SetTimer()</a> gibt dessen LAufzeit in Millisekunden an - also mußt du dort einfach eine 10 einstellen.</p>
<p>Btw, der Timer sendet <strong>in regelmäßigen Abständen</strong> eine WM_TIMER Message - d.h. du mußt ihn nur einmal starten (in der OnInitDlg()) und dann darauf warten, daß die OnTimer() aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055515</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 11 May 2006 11:21:52 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:22:06 GMT]]></title><description><![CDATA[<p>Nimm den QueryPerformanceCounter.<br />
findest Du auch in der MSDN.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055517</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 11:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:22:34 GMT]]></title><description><![CDATA[<p>kannst du mir vielleicht ein paar tips geben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055519</guid><dc:creator><![CDATA[Switi]]></dc:creator><pubDate>Thu, 11 May 2006 11:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:24:59 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Der zweite Parameter von <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CWnd.3a3a.SetTimer.asp" rel="nofollow">SetTimer()</a> gibt dessen LAufzeit in Millisekunden an - also mußt du dort einfach eine 10 einstellen.</p>
</blockquote>
<p>Unter 50 ist ein Timer aber extrem ungenau.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055522</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 11 May 2006 11:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 11:37:20 GMT]]></title><description><![CDATA[<p>es tut gar nichts</p>
<p>die OnReadSlave ist in einem fenster die vom ein haptfenster aufgerufen werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055530</guid><dc:creator><![CDATA[Switi]]></dc:creator><pubDate>Thu, 11 May 2006 11:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:20:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">unsigned __int64 counts  = QueryPerformanceCounter()
</code></pre>
<p>gibt dir die Counts seit Systemstart</p>
<pre><code class="language-cpp">unsigned __int64 freq  = QueryPerformanceFrequency()
</code></pre>
<p>gibt dir die Counts pro Sekunde zurück.<br />
Damit kannst Du Dir eine Timer-Klasse basteln, die auf ein paar µs genau ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055536</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 12:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:17:46 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>Damit kannst Du Dir eine Timer-Klasse basteln, die auf ein paar µs genau ist.</p>
</blockquote>
<p>Soweit zur Theorie...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055580</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 11 May 2006 12:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:26:19 GMT]]></title><description><![CDATA[<p>Nur wers selber testet weiss es genau, schon klar.<br />
Ich hab etwas mehr als 3Mio Counts pro Sekunde..mir reicht das..und um 10ms zu timen reichts auch..</p>
<p>quelle: [urlhttp://www.mvps.org/directx/articles/selecting_timer_functions.htm]mvps[/url]<br />
wurd letztens hier geposted, konnt den thread aber nicht mehr finden..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055581</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 12:26:19 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:24:06 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>Ich hab etwas mehr als 3Mio Counts pro Sekunde..mir reicht das..und um 10ms zu timen reichts auch..</p>
</blockquote>
<p>Um die Genauigkeit deiner Methode zu ermitteln, solltest du den maximalen Abstand zwischen zwei aufeinanderfolgenden Aufrufen ermitteln. Die Anzahl der Aufrufe pro Sekunde sagt ungefähr gar nichts über die Genauigkeit aus aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055586</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 12:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:25:16 GMT]]></title><description><![CDATA[<p>gibs Vielleicht bei vc++ eine wait funktion mit dem man sagen kann zb.warte50ms dann......</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055588</guid><dc:creator><![CDATA[Switi]]></dc:creator><pubDate>Thu, 11 May 2006 12:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:31:54 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>1310-Logik schrieb:</p>
<blockquote>
<p>Ich hab etwas mehr als 3Mio Counts pro Sekunde..mir reicht das..und um 10ms zu timen reichts auch..</p>
</blockquote>
<p>Um die Genauigkeit deiner Methode zu ermitteln, solltest du den maximalen Abstand zwischen zwei aufeinanderfolgenden Aufrufen ermitteln. Die Anzahl der Aufrufe pro Sekunde sagt ungefähr gar nichts über die Genauigkeit aus aus.</p>
</blockquote>
<p>demnach weniger als 5µs<br />
<a href="http://www.mvps.org/directx/articles/selecting_timer_functions.htm" rel="nofollow">http://www.mvps.org/directx/articles/selecting_timer_functions.htm</a><br />
wurd letztens hier geposted, konnt den thread aber nicht mehr finden..</p>
<p>edit: url geflickt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055592</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 12:31:54 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:34:52 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>demnach weniger als 5µs</p>
</blockquote>
<p>Was heißt &quot;demnach&quot;? Hast du das gemessen?</p>
<p>Ich rede vom maximalen Abstand, nicht vom durchschnittlichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055598</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 12:34:52 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:40:22 GMT]]></title><description><![CDATA[<p>nein ich habs nicht selbst getestet (sagte ich bereits), werds auch heut nicht mehr tun, keine Zeit.</p>
<blockquote>
<p>Was heißt &quot;demnach&quot;? Hast du das gemessen?</p>
</blockquote>
<p>Hast Du Dir den link angesehn? Ich bezog mich darauf.<br />
Ich meine die Zahlen sind überzeugend...<br />
Und selbst wenns 500µs dauert, für 10-50ms reichts und ist wohl auch besser als der Multimedia Timer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055602</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 12:40:22 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 12:49:09 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>Hast Du Dir den link angesehn? Ich bezog mich darauf.</p>
</blockquote>
<p>Auch das sagt nichts über die Genauigkeit deiner Methode aus.</p>
<p>Es ist egal, wie lange der Aufruf der Timerfunktion dauert. Windows ist kein Echtzeitbetriebssystem. Es gibt keinerlei Garantie, dass der Thread, der in deiner Messmethode steckt, nicht auf unbestimmte Zeit angehalten wird. Schon wenn im normalen Betrieb dein Thread gerade nicht &quot;dran&quot; ist, können da etliche Millisekunden verstreichen, von denen du nichts mitbekommst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055611</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 12:49:09 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 13:01:17 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>1310-Logik schrieb:</p>
<blockquote>
<p>Hast Du Dir den link angesehn? Ich bezog mich darauf.</p>
</blockquote>
<p>Auch das sagt nichts über die Genauigkeit deiner Methode aus.</p>
<p>Es ist egal, wie lange der Aufruf der Timerfunktion dauert. Windows ist kein Echtzeitbetriebssystem. Es gibt keinerlei Garantie, dass der Thread, der in deiner Messmethode steckt, nicht auf unbestimmte Zeit angehalten wird. Schon wenn im normalen Betrieb dein Thread gerade nicht &quot;dran&quot; ist, können da etliche Millisekunden verstreichen, von denen du nichts mitbekommst.</p>
</blockquote>
<p>Das kommt aber auf die Thread Priorität an und darauf, was noch alles im Hintergrund läuft. Für &quot;simple&quot; Anwendungens sollte es reichen (für Games und sowas), wissenschaftliche Messungen im Nanosekunden Bereich kann man mit Windows natürlich nicht machen.<br />
Die WM_TIMER Message steht aber ganz hinten an, und wird daher wohl als letztes in Frage kommen. Und darum mehm ich die bestmögliche Art zu timen, die mir bekannt ist. Du kannst mich aber gern aufklären obs noch was anderes gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055626</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 13:01:17 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 13:13:37 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>Für &quot;simple&quot; Anwendungens sollte es reichen (für Games und sowas),</p>
</blockquote>
<p>Es geht hier aber offenbar weder um eine simple Anwendung noch um ein Spiel. Es geht anscheinend ums zeitkritische Ansteuern einer Hardware:</p>
<p>Switi schrieb:</p>
<blockquote>
<p>das Ereignis ReadSlave muss nach zehn Millisekunden auslöst werden.</p>
</blockquote>
<p>Und das kann deine Methode nicht, weil sie keine maximale Antwortzeit garantieren kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055633</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 13:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 13:14:39 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>1310-Logik schrieb:</p>
<blockquote>
<p>Für &quot;simple&quot; Anwendungens sollte es reichen (für Games und sowas),</p>
</blockquote>
<p>Es geht hier aber offenbar weder um eine simple Anwendung noch um ein Spiel. Es geht anscheinend ums zeitkritische Ansteuern einer Hardware:</p>
<p>Switi schrieb:</p>
<blockquote>
<p>das Ereignis ReadSlave muss nach zehn Millisekunden auslöst werden.</p>
</blockquote>
<p>Und das kann deine Methode nicht, weil sie keine maximale Antwortzeit garantieren kann.</p>
</blockquote>
<p>Also, womit macht man den sowas? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055635</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 13:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 13:21:48 GMT]]></title><description><![CDATA[<p>Ich würde das in Hardware oder mit einem hinreichend schnellen Echtzeitbetriebssystem machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055643</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 May 2006 13:21:48 GMT</pubDate></item><item><title><![CDATA[Reply to timer on Thu, 11 May 2006 14:06:02 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Ich würde das in Hardware oder mit einem hinreichend schnellen Echtzeitbetriebssystem machen.</p>
</blockquote>
<p>&quot;in Hardware&quot;..meinst Du direkt die clock ansprechen?<br />
wie geht das denn? wär interessant..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055673</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 11 May 2006 14:06:02 GMT</pubDate></item></channel></rss>