Форум: "Система";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
ВнизCOM - прт Найти похожие ветки
← →
BJValentine (2002-01-15 10:48) [0]В Делфях нужно написать приложение, которое работает с COM - портами на низком уровне. Ассемблерные вставки - не вопрос, знакомая тема, но как мне обратиться к ячейке по адресу 0040:0000h. В ДОСе это было понятно сегмент:смещение, а как обстоят дела с Windows? Помогите подсказочкой PLEASE...
← →
Vitaly (2002-01-15 11:31) [1]1. Забудь про 0040:0000.
2. Windows API (Help).
2.1. CreateFile, ReadFile, WriteFile, CloseHandle.
2.2. Communication Functions.
2.3. Overlapped.
3. Threads.
Удачи.
← →
Vitaly (2002-01-15 11:35) [2]+ поиск по сайту.
Информации и примеров (как и вопросов) - масса.
← →
BJValentine (2002-01-15 12:06) [3]Хорошо, бог с ним COM - портом, а если разрабатывать свои нестандартные устройства для PCI портов и т. п., то там наверняка надо будет обращаться к реальным адресам. Как это можно сделать в Windows.
← →
Digitman (2002-01-15 14:15) [4]Ты что-нибудь знаешь о кольцах защиты CPU i80x86 ?
← →
BJValentine (2002-01-15 15:28) [5]Нет, не знаю. А что это, в двух словах?
← →
Polevi (2002-01-15 16:24) [6]В двух словах не получится :)
Почитай про 80386 Protected Mode
← →
Digitman (2002-01-15 16:34) [7]В двух словах :
Все приложения в Win32 выполняются в 3-м кольце защиты процессора, не позволяющем произвольное манипулирование портами и ячейками физ.памяти. Арбитраж доступа к портам возложен на ОС, выполняющейся в 0-м, наиболее привелегированном кольце защиты. И ОС не позволит несколким приложениям одновременно (Win32-то - МНОГОЗАДАЧНАЯ в отличие от DOS !!) творить с портами одновременно все, что им заблагорассудится. Ну ты сам рассуди : запустил ты косой десяток экз-ров своего приложения, одно тычет в порт одно значение, другое - другое, третье что-то там пытается читать из порта ... И все это - одновременно ? такое -невозможно !!!
← →
Anatoly Podgoretsky (2002-01-15 20:09) [8]Бери с сайта микро$офт DDK и осваивай его
← →
BJValentine (2002-01-15 21:49) [9]А что такое DDK и с чем его едят?
← →
andersen (2002-01-15 21:56) [10]Если неслышал что такое DDK, то лучше на милкософт и не ходить.
Лучше поискать готовые компоненты для работы с аппаратурой. Тем более для COM порта их много.
← →
Adder (2002-01-16 08:35) [11]DDK - Driver Development Kit
← →
pasha676 (2002-01-16 12:34) [12]Хм. Все это интересно, но если честно, то под Win95 серии я и напрямую в порты писал/читал (ассемблерные вставки в Дельфи). И сейчас в LPT передаю/принимаю на ассемблере. Возможно, что с PCI ситуевина меняется и под WinNT серией то же, но в 95-98 напрямую обращался к таймеру, к com и к LPT без проблем
← →
Донской (2002-01-16 13:57) [13]Если на низком уровне....
Попробуйте полностью приложение написать на ассемблере.
а из дельфей вызывать его, а после выполнения снова закрывать.
← →
Донской (2002-01-16 13:58) [14]Кстати, ассемблер предусматривает использование API-функций
← →
TonnyS (2002-01-16 17:31) [15]я писал с помощью ASM-вставок напрямую в COM-порты, но это работает только под вин95/98, а под NT/2k - см. Digitman © (15.01.02 14:15)
поэтому рекомендуется писать через функции винды.
← →
a_k_v (2002-01-18 09:11) [16]В NuMega Driver Studio есть вызарды позволяющие быстро создать
простенький драйвер для доступа к ячейкам памяти или портам
ввода вывода,
Если вас совсем ломает что-то делать, то используйте
отечестывенную библиотеку TvicHW которая позволяет работать с портами, памятью, прерываниями, выполнять код в 0 кольце защиты
и т.д.
доступна щароварная версия библиотеки (вроде без особых ограничений) только периодичеси материться о том чтобы ее купили
цена копеечная менее 100$
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c