Asper, спасибо ...
procedure zapis_v_port(pdw:dword; b:byte);
begin asm
mov eax,43
mov bl,b
mov ecx,pdw
int $40
end; end;
...
if key=7 then zapis_v_port(888,255);
if key=8 then zapis_v_port(888,0);
... а транслитом я уже
больше думаю, чем пишу.
KolibriOS на производстве
-
Last edited by VitZ on Mon Aug 26, 2013 8:13 pm, edited 1 time in total.
Драйвер нашего com-порта
будет содержать 8 процедур:
zachvat_portov, otdatj_porti, open_com,
zapis_v_port(pdw,b), chtenie_iz_porta(pdw,b), delay(ms),
sc(s1), rc(s2).
Последние две - это:
послать команду в com-порт (строка) и
принять команду из com-порта (строка) соответственно.
будет содержать 8 процедур:
zachvat_portov, otdatj_porti, open_com,
zapis_v_port(pdw,b), chtenie_iz_porta(pdw,b), delay(ms),
sc(s1), rc(s2).
Последние две - это:
послать команду в com-порт (строка) и
принять команду из com-порта (строка) соответственно.
Last edited by VitZ on Sun Jun 02, 2013 7:50 pm, edited 1 time in total.
: Зачвать портов! Отдатж порти!
Может, всё же лучше grab_ports/capture_ports и release_ports?
Может, всё же лучше grab_ports/capture_ports и release_ports?
Я предлагаю перенумеровать через randomize все 8 процедур
и продолжить написание кода драйвера по-сути;
например:
p9358765,
p2089764,
...
p7848933.
(Естественно, надо будет проверить -
чтобы не было двух совпадающих имён)
и продолжить написание кода драйвера по-сути;
например:
p9358765,
p2089764,
...
p7848933.
(Естественно, надо будет проверить -
чтобы не было двух совпадающих имён)
Захватывать надо будет
порты 1008 .. 1028.
порты 1008 .. 1028.
не в свои порты не лезь:
COM1 по стандарту 0x3F8..3FF = 1016..1023
и вообще неплохо бы для начала проверять IOBARы через 62-ю
COM1 по стандарту 0x3F8..3FF = 1016..1023
и вообще неплохо бы для начала проверять IOBARы через 62-ю
Art_zh, спасибо ...
... 1016 .. 1023 порты.
... 1016 .. 1023 порты.
procedure sc(s:string);
Для разных скоростей процессоров
задержку 2000 можно менять - главное, чтобы время
неухода (для rc(s2) - неприхода) байта
ограничить приблизительно 200 мс-ами.
Spoiler:
Code: Select all
procedure sc(s:string);
var i,t:dword;
begin i:=1; t:=0;
if ( (length(s)<1) or (length(s)>30) ) then exit;
while (i<>length(s)+1) do begin
while (In1021 and $20)=0 do begin
t:=t+1;
if (t>2000) then exit;
end;
zapis_v_port(1016, ord(s[i]));
i:=i+1; t:=0;
end;
{}
while (In1021 and $20)=0 do begin
t:=t+1;
if (t>2000) then exit;
end;
zapis_v_port(1016,13);
end;
задержку 2000 можно менять - главное, чтобы время
неухода (для rc(s2) - неприхода) байта
ограничить приблизительно 200 мс-ами.
Last edited by VitZ on Fri Jul 12, 2013 4:52 pm, edited 5 times in total.
Проверкой драйвера в домашних условиях
может быть соединение 3-х-метровым
3-х-проводным шнурком (com-com) двух компов
между собой (в этом случае один
из компов эмулирует АСУТП-шное
устройство - такое как i7042). Если разъёмы
9-пиновые: 5-5, 2-3, 3-2.
После соединения можно наслаждаться процессом,
чем-то напоминающим отправку-приём смс.
И это - не офтоп, это проверка на текущем,
но не конечном шаге подключения i7042 к компу.
может быть соединение 3-х-метровым
3-х-проводным шнурком (com-com) двух компов
между собой (в этом случае один
из компов эмулирует АСУТП-шное
устройство - такое как i7042). Если разъёмы
9-пиновые: 5-5, 2-3, 3-2.
После соединения можно наслаждаться процессом,
чем-то напоминающим отправку-приём смс.
И это - не офтоп, это проверка на текущем,
но не конечном шаге подключения i7042 к компу.
Last edited by VitZ on Fri Jun 07, 2013 10:01 am, edited 1 time in total.
Наверное, читатель, раз уж заговорили о <<делеях>>,
ждёт рифмы <<точный 64-х-битный таймер,
расположенный по адресу 1132 (считывается тайм ко-
мандой $F31)>>, - на вот, возьми её скорей.
ждёт рифмы <<точный 64-х-битный таймер,
расположенный по адресу 1132 (считывается тайм ко-
мандой $F31)>>, - на вот, возьми её скорей.
Spoiler:
Никого не хочу обижать, но тема превращается (превратилась?) в бложик/днявку и в ней не хватает клёвых фоток.Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Фото:
- Attachments
-
-
1.JPG (29.83 KiB)Viewed 8748 times
-
Почти фото ( ):
- Attachments
-
-
2.JPG (26.38 KiB)Viewed 8738 times
-
Last edited by VitZ on Wed Jun 19, 2013 3:17 pm, edited 1 time in total.
Скорость конвейера какая?
Частота тахометра?
Период/скважность ШИМ?
Частота тахометра?
Период/скважность ШИМ?
...более чёткая картина рисуется в журнале
"Современные технологии автоматизации" - 4'97,
стр. 52-54;
http://www.cta.ru/issues/239826.html
могу ещё фотку устройства
i7042 - как он внутри устроен - прислать ...
"Современные технологии автоматизации" - 4'97,
стр. 52-54;
http://www.cta.ru/issues/239826.html
могу ещё фотку устройства
i7042 - как он внутри устроен - прислать ...
Last edited by VitZ on Sat Apr 19, 2014 11:01 am, edited 7 times in total.
Who is online
Users browsing this forum: No registered users and 1 guest