Я пытаюсь распечатать разрешение секунд и миллисекунд, и я использую 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
Под окнами разрешение часов около 15 мс.
Если вам нужно разрешение в миллисекундах, есть высокопроизводительные часы, которые позволяют измерять время ниже 10 мкс (см. Вот: Получение меток времени с высоким разрешением на MSDN).
миллисекунды не заполнены.
Я не уверен, почему это происходит
Документация по Embedded Compact за GetSystemTime()
заявляет следующее предупреждение об этой проблеме:
Степень детализации в миллисекундах может не поддерживаться аппаратной платформой. Вызывающий эту функцию не должен полагаться больше, чем на вторую гранулярность.