Page 11 of 14

Re: KolibriOS на производстве

Posted: Sun Jun 02, 2013 6:31 pm
by VitZ
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);

... а транслитом я уже
больше думаю, чем пишу.

Re: KolibriOS на производстве

Posted: Sun Jun 02, 2013 7:23 pm
by VitZ
Драйвер нашего 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-порта (строка) соответственно.

Re: KolibriOS на производстве

Posted: Sun Jun 02, 2013 7:46 pm
by SoUrcerer
: Зачвать портов! Отдатж порти!
Может, всё же лучше grab_ports/capture_ports и release_ports?

Re: KolibriOS на производстве

Posted: Sun Jun 02, 2013 8:50 pm
by VitZ
Я предлагаю перенумеровать через randomize все 8 процедур
и продолжить написание кода драйвера по-сути;
например:
p9358765,
p2089764,
...
p7848933.
(Естественно, надо будет проверить -
чтобы не было двух совпадающих имён) :)

Re: KolibriOS на производстве

Posted: Mon Jun 03, 2013 10:40 am
by VitZ
Захватывать надо будет
порты 1008 .. 1028.

Re: KolibriOS на производстве

Posted: Mon Jun 03, 2013 12:18 pm
by art_zh
не в свои порты не лезь:
COM1 по стандарту 0x3F8..3FF = 1016..1023
и вообще неплохо бы для начала проверять IOBARы через 62-ю

Re: KolibriOS на производстве

Posted: Mon Jun 03, 2013 4:14 pm
by VitZ
Art_zh, спасибо ...
... 1016 .. 1023 порты.

Re: KolibriOS на производстве

Posted: Mon Jun 03, 2013 5:48 pm
by VitZ
procedure sc(s:string);
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 мс-ами.

Re: KolibriOS на производстве

Posted: Mon Jun 03, 2013 6:48 pm
by VitZ
Проверкой драйвера в домашних условиях
может быть соединение 3-х-метровым
3-х-проводным шнурком (com-com) двух компов
между собой (в этом случае один
из компов эмулирует АСУТП-шное
устройство - такое как i7042). Если разъёмы
9-пиновые: 5-5, 2-3, 3-2.
После соединения можно наслаждаться процессом,
чем-то напоминающим отправку-приём смс.
И это - не офтоп, это проверка на текущем,
но не конечном шаге подключения i7042 к компу.

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 8:37 am
by VitZ
Наверное, читатель, раз уж заговорили о <<делеях>>,
ждёт рифмы <<точный 64-х-битный таймер,
расположенный по адресу 1132 (считывается тайм ко-
мандой $F31)>>, - на вот, возьми её скорей.

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 8:46 am
by Mario_r4
Spoiler:Никого не хочу обижать, но тема превращается (превратилась?) в бложик/днявку и в ней не хватает клёвых фоток.

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 10:13 am
by VitZ
Фото:

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 10:59 am
by VitZ
Почти фото ( :) ):

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 2:54 pm
by art_zh
Скорость конвейера какая?
Частота тахометра?
Период/скважность ШИМ?

Re: KolibriOS на производстве

Posted: Tue Jun 04, 2013 3:44 pm
by VitZ
...более чёткая картина рисуется в журнале
"Современные технологии автоматизации" - 4'97,
стр. 52-54;
http://www.cta.ru/issues/239826.html

могу ещё фотку устройства
i7042 - как он внутри устроен - прислать ...