Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
1-32737
sany
2002-03-30 06:34
2002.04.11
Позалуйста, пришлите мне DsgnIntf.dcu


1-32822
SuperIgor
2002-03-28 21:28
2002.04.11
Срочно помогите!!!


1-32897
BAHO
2002-03-28 19:15
2002.04.11
Обработка событий в денамически созданных обьектах


1-32801
B_A_V
2002-04-01 10:05
2002.04.11
Строка кода больше 255 символов, как быть?


3-32623
koks
2002-03-22 11:29
2002.04.11
ADO -> Access 2000 ????