Управление изображением на мониторе через COM порт

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

а где таймер? где его событие OnTimer? веутри этого события обращайтесь в порт.
FRIM@N писал(а):Procedure OutPortW(port:word; value:word);stdcall;
Function InPortW(port:word):word;stdcall;
так писать здесь ненадо.
вызывать процедуры/функции -InPort(ваши параметры) и OutPort(ваши параметры) следует внутри события OnTimer.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

я сначала выставлю 1 на RTS и она уже менятся не будет,а считывание со входов уже в таймере

Procedure OutPortW(port:word; value:word);stdcall;
Function InPortW(port:word):word;stdcall; это не писать совсем или писать в таймере,
InPort(ваши параметры)
как описать эти параметры --т.е. адрес порта подрегистр вывода
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

FRIM@N писал(а):я сначала выставлю 1 на RTS и она уже менятся не будет,а считывание со входов уже в таймере
ести вы будете регулярно записывать 1 на RTS то она тоже не будет меняться.
все ваши дела делаются событием таймера.(кроме initdriver и donedriver)
при желании таймер можно останавливать и перезапускать. например кнопкой(TButton)
FRIM@N писал(а):Procedure OutPortW(port:word; value:word);stdcall;
Function InPortW(port:word):word;stdcall; это не писать совсем или писать в таймере,
эти функции записывают/читают 16 бит(word), вам нужно 8.
использование нужных функций есть у вас в примере. вы их приводили.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

для отправки 1 бита нужно вот это?

var
aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;

begin
port:=base+4;
data:=2;
outport(port,aa,data);
sleep(10);
port:=base+6;
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

ну, типо того...
только аа - лишнее...
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

там в статье было сказано что aa квкой то житроопый зарезервированный параметр который должен быть равен 0,может таки оставить?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

outport(port,aa,data);
вступает в некоторое противоречие с
FRIM@N писал(а):Procedure OutPort(port:word; value:byte);stdcall;
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

т.е. писать OutPort(port:word; value:byte) вместо outport(port,aa,data);?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

не, в первом случае 3 параметра, а во втором(который каг-бэ будет работать) только два.
конечо, попробуйте.
в процедуру правильно передавать параметра правильно так
FRIM@N писал(а):outport(port,data)
а определять параметры так
FRIM@N писал(а):procedure OutPort(port:word; value:byte)
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

вот листинг того что я соорудил с вашей помощью) но оноо не работает встает на первом же операторе , а именно на InitDriver;

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    tmr1: TTimer;
    procedure tmr1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
Begin
InitDriver;
end;


var
e:word;
port,base,data:word;
base:=$3F8;
procedure OutPort(port:word; value:byte)
begin
port:=base+4;
data:=2;
outport(port,aa,data);
sleep(10);
port:=base+6;
end
procedure TForm1.tmr1Timer(Sender: TObject);
Function  InPort(port:word):byte;stdcall;
begin
e:=inport(port) and 16;
port:=base+4;
data:=0;
outport(port,data);{âîò  ýòî êàê ìíå êàæåòñÿ ëèøíåå}
end;

end.

(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

FRIM@N писал(а):вот листинг того что я соорудил с вашей помощью) но оноо не работает встает на первом же операторе , а именно на InitDriver;

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, giveio;//добавить!

type
  TForm1 = class(TForm)
    tmr1: TTimer;
    procedure tmr1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
e:word;
port,base,data:word;

procedure TForm1.FormCreate(Sender: TObject);
Begin
base:=$3F8;
InitDriver;
end;


//procedure OutPort(port:word; value:byte) я же писал, что то что есть в giveio переписывать никуда не надо!
//begin
//end

procedure TForm1.tmr1Timer(Sender: TObject);
//Function  InPort(port:word):byte;stdcall;удалить!
begin
port:=base+4;
data:=2;
outport(port,aa,data);
sleep(10);
port:=base+6;
e:=inport(port) and 16;
port:=base+4;
data:=0;
outport(port,data);{âîò  ýòî êàê ìíå êàæåòñÿ ëèøíåå}
end;

end.

надеюсь вы меня не троллите? :))) попробуйте так
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

надеюсь вы меня не троллите? попробуйте так
9 страниц троллинга это слишком толсто, я просто никогда не занимался програмированием, и понимаю что туплю безбожно но что поделать((((((((точне как говорил выше написал на qBAСIKe программу в 10 операторов но это было в DOS 3 в 2003 году или около того

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, giveio;
то ест нужно было прописать используемый модуль или .ybn ? дополнение как правильно, я этого не сделал и он не знал куда обращаться

теперь запускается без ошибок :))) это радует,завтра после работы и после того как отосплюсь от бессонной ночи вернусь к отображению результатов --дабы все увидеть

а как доказательство не тролинга могу привести еще пару тем на других форумах по этой же теме ,и вообще я мог потролить вас в теме про капанадзе :)))


и кстати как сохранить этот проект удачно если " сохранить проект как" то потом при открытии на вкладке н отображается вкладка с драйвером
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

это конечно не кюбазик, тут совсем другой принцип. программа и все компоненты уже готовы к работе с самого начала. программирование производится "изнутри" путём изменения уже имеющихся свойств готовых объектов. сам объект-это неразединяемая совокупность свойств(переменные) и правил(процедуры и функции) которые наследуются от объекта к объекту. здесь уже нету того, привычного вам, линейного программирования. и обмен данными производится через события, которыми эти объекты взаимодействуют с ОС и друг с другом.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

вот именно --когда я пытался соорудить что-то на паскале я еще немного понимал там как- то все линейно, а здесь уже ....слабо понимаю
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

для удобства сохранения поставьте галки в диалоге
tools(инструменты)->invirionment optons(опции окружения незнаю, как у вас, у меня по англицки) autosave options.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

кстати,по моему в дельфи можно не только создавать изображения но и открывать готовые ,если открывать готовое сделанное в граф редакторе , тормозов ощутимых не будет в анимации?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

туда еще можно добавлять видео, музыку, элементы мсофиса и прочее. дельфявое окно - обычное стандартное окно винды(с большего). не думаю, что натянутый на него битмап будет сильно что-либо тормозить.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

видео, музыку, элементы мсофиса и прочее.
:shock: ух-ты, а как это будет выглядеть после компиляции? ехе файл или ехе файл с чем то еще, и есть какие то строгие рамки по разрешению?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

FRIM@N писал(а):ух-ты, а как это будет выглядеть после компиляции? ехе файл или ехе файл с чем то еще, и есть какие то строгие рамки по разрешению?
Не знаю как с видео, но рисунки все запихнутся в экзешник, с соответствующим увеличением его размера, хотя и их тоже можно сделать отдельно.
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

FRIM@N писал(а):
видео, музыку, элементы мсофиса и прочее.
:shock: ух-ты, а как это будет выглядеть после компиляции? ехе файл или ехе файл с чем то еще, и есть какие то строгие рамки по разрешению?
как окно, в которое можно что-либо загрузить. OLE контейнер, в общем.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Ответить

Вернуться в «Интеграция с ПК»