Board.KolibriOS.org

Official KolibriOS board
It is currently Tue May 21, 2019 4:28 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 196 posts ]  Go to page Previous 18 9 10 11 1214 Next
Author Message
PostPosted: Thu May 30, 2013 11:08 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SoUrcerer wrote:
Учетверяю, чего уж там.

Ты попутал с хабром - здесь ты можешь только +1. :wink:

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 11:51 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Offtopic: Это на хабре я могу только +1, а здесь я могу сколько угодно. Только тсс.


Top
   
PostPosted: Thu May 30, 2013 11:57 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Spoiler: Show
SoUrcerer wrote:
Offtopic: Это на хабре я могу только +1, а здесь я могу сколько угодно. Только тсс.

Я говорю про моральную поддержку. Функции админа не будем трогать.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri May 31, 2013 12:52 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1328
Quote:
Нужен доступ - пиши драйвер.

А я минусую.

Если бы все было так просто и прямолинейно, тогда убогий WinDriver не был бы так популярен - не только в Винде, но даже в Линуксе.

Напиши драйвер для GMON - тогда можно будет смело убирать 40-е из транка.
И не забудь про 62-ю дырку. Ее тоже надо затыкать, сразу после разработки драйвера для PCIDEV.

VitZ
не слушай их - программёры нифига не смыслят в техническом творчестве.
купи Fusion-плату, поставь Kolibri-A и общайся с любым железом напрямую, без драйверов и без 40-х функций.


Top
   
PostPosted: Fri May 31, 2013 10:49 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
art_zh
1. Полностью с тобой согласен, для GMON нужен драйвер и ф.62 должна быть заткнута.
2. Колибри хороша тем, что кардинальные изменения достигаются лёгким движением руки.
Открываем taskman.inc, находим строку
Code:
1134:        mov     [ebx+REG_EFLAGS], dword EFL_IOPL1+EFL_IF
меняем EFL_IOPL1 на EFL_IOPL3 и наслаждаемся беспроблемным доступом ко всем портам и даже cli hlt :)


Last edited by Serge on Tue Jun 18, 2013 9:16 am, edited 1 time in total.

Top
   
PostPosted: Fri May 31, 2013 2:16 pm 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
На качественно организованном производстве
переходник RS232/RS485 встречается не реже,
чем персональный компьютер.
Операционные системы приходят и уходят, а последовательный
порт почему-то остаётся.
Следующей идеей у меня было -
подцепить какой-нть RS-485 девайс
(в том же ключе, как на LPTе - светодиоды).


Last edited by VitZ on Sun Jul 28, 2013 4:39 pm, edited 3 times in total.

Top
   
PostPosted: Sat Jun 01, 2013 12:41 pm 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
Устройство двоичного вывода (0 - 24 В) i7042
попытаемся подключить к $3F0 - адресу
на скорости 115200, с 8мью битами данных,
без проверки на чётность и с минимальным количеством стоповых битов.


Last edited by VitZ on Fri Jul 05, 2013 11:41 am, edited 5 times in total.

Top
   
PostPosted: Sat Jun 01, 2013 1:42 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1328
VitZ wrote:
Устройство двоичного вывода (0 - 24 В)

не забудь про гальваническую развязку - у COM-порта (-12В ... +12В)


Top
   
PostPosted: Sat Jun 01, 2013 2:02 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
У меня на ноуте до 5В, так что это еще стоит вольтметром проверить.


Top
   
PostPosted: Sat Jun 01, 2013 3:59 pm 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
Устройство i7042 подключаем к компу через переходник i7520;
если (как у меня получалось раньше - из DOS'а) удастся послать
в пром-линию через com-порт строку '$01M',
то устройство (в данном случае i7042)
пришлёт своё имя (i7042 в данном случае
должно иметь в пром-линии адрес 01 и
настройку на скорость 115200) ...


Last edited by VitZ on Sun Nov 02, 2014 2:23 pm, edited 5 times in total.

Top
   
PostPosted: Sat Jun 01, 2013 6:44 pm 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
... в конце каждой строки
общения между устройствами
(комп <-> i7042)
ставится символ (байт) 13.


Top
   
PostPosted: Sat Jun 01, 2013 10:03 pm 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
В примере с LPT-светодиодами
две процедуры (p3 и p4) можно
свернуть в одну (по записываемому байту):

procedure zapis_v_port(b:byte);
begin asm
mov eax,43
mov bl,b
mov ecx,888
int $40
end; end;

Скорее всего и номер (адрес)
порта тоже можно вынести -
как параметр.


Last edited by VitZ on Sun Jun 02, 2013 7:25 am, edited 1 time in total.

Top
   
PostPosted: Sat Jun 01, 2013 10:14 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Конечно, можно.


Top
   
PostPosted: Sun Jun 02, 2013 9:25 am 
Offline
User avatar

Joined: Thu May 30, 2013 5:56 pm
Posts: 31
У меня получилось:

procedure zapis_v_port(pb1, pb2, b: byte);
begin asm
mov eax, 43
mov bl,b
mov ch, pb1
mov cl, pb2
int $40;
end; end;
...
if key=7 then zapis_v_port($3, $78, 255);
if key=8 then zapis_v_port($3, $78, 0);

, а как в ассемблере записать в регистр (ecx) для номера
порта сразу 2а байта=word (888>255)
(может какие-то квадратные скобочки рядом с ecx использовать
или адрес этой переменной и указать количество её байт) ?


Top
   
PostPosted: Sun Jun 02, 2013 2:20 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
VitZ
Размерность регистра и операнда должны совпадать для команды mov.
Если хочешь записать именно word в ecx можешь воспользоваться к примеру командой movzx.
Не пиши никогда идентификаторы, комментарии и т.д. транслитом, используй английский язык.
Это вроде как Pascal с BASM'ом?
Вместо кучи однотипных if лучше использовать конструкцию case of.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 196 posts ]  Go to page Previous 18 9 10 11 1214 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited