Witam.
Potrzebuję w programie w Visualu Win32 Console Application zrobić w pętli while pauzę w mikrosekundach (powiedzmy 100 mikrosekund). Można w jakiś sposób to zrobić? Patrzyłem na różne rozwiązania, m. in. timeGetSystemTime i wszędzie milisekundy. Potrzebuje to do programu który wysyła datagramy UDP, żeby robił to np. co 100 mikrosekund.
Będę wdzięczny za informacje.
QueryPerformanceCounter
Pamiętaj, że operujesz już tutaj na naprawdę małych jednostkach i same wywołania metod mogą zająć ci sporą część tych 100 mikrosekund.
Dzięki za odpowiedź. Nie wiedziałem, że jest dostępny taki licznik z którego można sobie skorzystać.
zrobić w pętli while pauzę w mikrosekundach (powiedzmy 100 mikrosekund)
ogólnie kiepski pomysł: raz że zajmujesz procesor pustymi przebiegami, dwa że będzie to ogromnie niedokładne.
Azarien napisał(a)
zrobić w pętli while pauzę w mikrosekundach (powiedzmy 100 mikrosekund)
ogólnie kiepski pomysł: raz że zajmujesz procesor pustymi przebiegami, dwa że będzie to ogromnie niedokładne.
Chcę wykorzystać to w programie do testowania modułu pomiarowego, dokładniej do testowania oprogramowania zaimplementowanego w mikrokontrolerze do komunikacji UDP. Dlatego takie rzeczy, jak zajmowanie procesora nie jest tutaj ważne, Ważne jest to, żebym mógł w miarę kontrolować prędkość zasypywania modułu pakietami UDP. Zgodzę się z tym, że jest to sposób niezbyt dokładny, przed chwilą go przetestowałem i pojawiają się rozbieżności zwylke plus minus 10 mikrosekund, ale czasami nawet plus minus do 60 mikrosekund.