| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Опрос порта + лог в реальном времени (100+ кГц) |
| Автор: Jek1975 17.5.2010, 23:29 | ||||
| Хочу написать очень простую программу на ассемблере (почти полный код см.ниже). Смысл программы в том, что она читает содержимое порта в котором изменяются только 4 бита (т.е. всего 16 вариантов в AL). Если значение порта изменилось, то текущее время сохраняется в одном из 16 массивов (размер каждого 64 Мб или больше). Так задумано для экономии времени и упрощения структуры массивов. Обработка результатов осуществляется после окончания работы этой программы. Мне проще писать в Delphi, но скорее всего придётся писать под DOS, так как там нет проблем с монопольным исполнением кода, но в DOSе я не умею работать с большими объемами памяти без переключения страниц. Может быть подскажете, если возможно, как организовать выполение этого кода под Win9x или WinXP, так чтобы полностью остановить ОС, включая любые прерывания, а потом возобновить её работу. (остановить нужно примерно на 60 секунд). Или если под Win это сделать нельзя, то есть ли среда программирования для DOS, в которой можно создавать большие массивы 32 битных чисел, и обращаться к ним линейно (без переключения страниц)? (язык почти всё равно какой, главное чтобы ASM вставлять можно было)
P.S. Если возможно монопольное выполнение этой программы под Windows, то на Delphi код функции SaveTimeStamp реализуется очень просто:
|
| Автор: Jek1975 18.5.2010, 10:52 |
Хочу попробовать записать осцилограмму I2C обмена данными во время прошивки монитора. Процесс длится около 40 секунд А какие у него преимущества перед просто программой? Его выполнение невозможно прервать? |