планирование прерываний в .Net Micro Framework

.NET MF не поддерживает вытесняющие прерывания. Как только процесс завершен или таймер 20 мс, назначенный планировщиком, истечет, прерывания могут быть обработаны.

Есть ли способ изменить эти 20 мс на более короткое время или изменить процесс планировщика и сделать его похожим на планировщик в реальном времени?

В качестве альтернативы предположим, что задержка в 20 мсек может быть допустима для начала обработки прерывания, но точное время возникновения прерывания является фактором, который необходимо знать. Я думаю, что с аргументом времени в обработчике события InterruptPort можно работать в обратном направлении и определять время, когда iteruppt был поставлен в очередь.

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


person Afshin    schedule 23.10.2012    source источник


Ответы (1)


Платформа .NET micro была разработана для использования на микроконтроллерах с ограничением памяти без MMU (модуля управления памятью). Инфраструктура .NET Micro, даже со всей ее многопоточной моделью и поддержкой стека TCP / IP, не работает в классической структуре операционной системы реального времени.

Если вам нужны строгие возможности реального времени, обратите внимание на Windows CE 6.0 R3 и Windows Compact 7, которые являются операционными системами жесткого реального времени и имеют встроенную поддержку 32-битного реального времени.

Надеюсь, мой ответ тебе поможет.

person Subbu    schedule 12.04.2013