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

Using Kolibri in embedded systems
  • Драйвер нашего 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?
  • Я предлагаю перенумеровать через randomize все 8 процедур
    и продолжить написание кода драйвера по-сути;
    например:
    p9358765,
    p2089764,
    ...
    p7848933.
    (Естественно, надо будет проверить -
    чтобы не было двух совпадающих имён) :)
  • Захватывать надо будет
    порты 1008 .. 1028.
  • не в свои порты не лезь:
    COM1 по стандарту 0x3F8..3FF = 1016..1023
    и вообще неплохо бы для начала проверять IOBARы через 62-ю
  • Art_zh, спасибо ...
    ... 1016 .. 1023 порты.
  • 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 мс-ами.
    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 к компу.
    Last edited by VitZ on Fri Jun 07, 2013 10:01 am, edited 1 time in total.
  • Наверное, читатель, раз уж заговорили о <<делеях>>,
    ждёт рифмы <<точный 64-х-битный таймер,
    расположенный по адресу 1132 (считывается тайм ко-
    мандой $F31)>>, - на вот, возьми её скорей.
  • Spoiler:Никого не хочу обижать, но тема превращается (превратилась?) в бложик/днявку и в ней не хватает клёвых фоток.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Фото:
    Attachments
    1.JPG
    1.JPG (29.83 KiB)
    Viewed 8552 times
  • Почти фото ( :) ):
    Attachments
    2.JPG
    2.JPG (26.38 KiB)
    Viewed 8542 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 - как он внутри устроен - прислать ...
    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 5 guests