![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Белый пони |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 27.1.2011 Пользователь №: 2373 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!
Столкнулся с проблемой, в ходе вычисления временного интервала с помощью rdtsc(). Вот программа, которая считывает значения, приходящие на последовательный порт и засекающая временные промежутки между их считванием: dumb3.cpp (процедура SetSIO - настраивает параметры com-порта, она громоздкая и мне кажется, к проблеме отношения не имеет. Но если что - могу и её запостить)Cигналы принимаются от девайса с известными интервалами - 10 раз в секунду пачками по 9 байт. перед первый байтом пачки - большая пауза, примерно 95 мс. Проблема в том, что эта самая программа, будучи запущения разными способами, выдаёт разные временные промежутки: При запуск в терминале графической оболочки Gnome ("./dump3") в терминал выводится: 1 //пришедший байт, временной интервал после предыдущего байта в микросекундах 2 96434 4 22 F4 8 0 8 30 7 13 7 4 7 EF 7 0 3935 2 96471 4 23 F4 8 0 8 30 7 13 7 4 7 EF 7 0 3971 2 96436 4 22 F4 8 0 8 30 8 13 7 4 7 EF 7 0 3968 ... При запуске в терминале без графической оболочки (Cntrl+Alt+F1 в Убунту) в терминал выводится: 2 2 96464 4 231 D0 240 0 239 30 227 13 227 4 227 CB 225 0 2398 2 96461 4 233 D2 238 0 238 30 225 13 225 4 224 CD 224 0 2406 ... При запуске в том же терминале без графической оболочки с направлением вывода не в консоль, а в файл ( "./dump3.cpp > yyy.txt"): 3 2 29861 4 49 54 5 0 4 30 4 13 4 4 4 50 4 0 3934 2 96454 4 5 54 4 0 4 30 4 13 4 4 4 50 4 0 3986 2 96463 4 5 54 4 0 4 30 4 13 4 4 4 50 4 0 3986 Откуда такие различия? И где значения ближе к правде? |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 13.3.2025, 21:06 |