Мне нужно измерить время между символьными событиями на последовательном порту, желательно под Windows 7.
Я читал в разных местах, такие заявления, как «Windows не будет предоставлять большее разрешение, чем 10 мс», но я не был в состоянии узнать, что это действительно означает.
Является ли проблема, что ОС не будет доставлять события с большей точностью, или это значит, что функции синхронизации (для измерения) были такими «бедными»? (Я думаю, что GetTickCount)Время последовательного порта Windows?
Если последнее, то я думаю, что я должен использовать что-то вроде QueryPerformanceCounter для достаточно хорошего измерения, но если события не доставляются с одинаковой точностью, это, очевидно, не будет Помогите.
переключение задач кажется очевидным, теперь, ты скажи. Что касается UART, я бы ожидал, что ограничения буфера и т. Д. Будут настраиваться, но, возможно, я немного оптимистичен. Похоже, мне нужно делать больше исследований в любом случае. – Niklas
@Niklas - Вы можете установить размер буфера чтения: вот способ .NET: http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.readbuffersize.aspx. Конечно, кто знает, действительно ли это работает, или если вы можете передать число, подобное 1. Кроме того, я наткнулся на это ОЧЕНЬ подробное обсуждение слоев обработки событий в классе .NET SerialPort: http://social.msdn.microsoft .com/форум/EN-US/netfxbcl/резьба/e36193cd-a708-42b3-86b7-adff82b19e5e /. Даже если вы не используете .NET, вам может показаться интересным. – mtrw