Невозможно получить миллисекунды от GetSystemTime ()

Я пытаюсь распечатать разрешение секунд и миллисекунд, и я использую GetSystemTime(),

Это мой код:

GetSystemTime(&datetime);
RETAILMSG(1,(_T("Time After Data Sent to USB: %d:%d\r\n"), datetime.wSecond, datetime.wMilliseconds));

Я печатаю в выходные данные отладчика платформы, используя RETAILMSG(), но я могу печатать только с разрешением до нескольких секунд, поэтому я увижу что-то вроде 48: 0 где миллисекунды не заполнены.

Я не уверен, почему это происходит, поскольку я не получаю жалоб. Я полагаю, что это как-то связано с реализацией RETAILMSG(),

Есть ли исправление для этого или замена, которую я могу использовать для достижения разрешения в миллисекундах?

Спасибо,

РЕДАКТИРОВАТЬ: я занимаюсь разработкой в ​​Windows Embedded Compact 7

2

Решение

Под окнами разрешение часов около 15 мс.

Если вам нужно разрешение в миллисекундах, есть высокопроизводительные часы, которые позволяют измерять время ниже 10 мкс (см. Вот: Получение меток времени с высоким разрешением на MSDN).

2

Другие решения

миллисекунды не заполнены.

Я не уверен, почему это происходит

Документация по Embedded Compact за GetSystemTime() заявляет следующее предупреждение об этой проблеме:

Степень детализации в миллисекундах может не поддерживаться аппаратной платформой. Вызывающий эту функцию не должен полагаться больше, чем на вторую гранулярность.

5

По вопросам рекламы [email protected]