Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 19:20   #11
remz
 
Регистрация: 14.11.2009
Сообщений: 8
По умолчанию

извините за неграмотность) я не совсем понимаю, как реализовать это измерение времени, куда в данной процедуре "воткнуть" ваш код?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i,n,j,m,k : integer;
begin
  n := StrToInt(Edit1.Text);
  m := StrToInt(Edit4.Text);
  k := 0;
  for i := 1 to n do
    begin
      Out32($378,0);
        for j := 1 to m do
          begin
            inc(k);
          end;
      if RadioButton1.Checked then
        Out32($378,5);
      if RadioButton2.Checked then
        Out32($378,7);
      Label7.Caption := IntToStr(Inp32($378));
    end;
end;
извините, что трачу ваше время
remz вне форума Ответить с цитированием
Старый 01.12.2009, 21:17   #12
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Код:

procedure TForm1.Button1Click(Sender: TObject);
var
  i,n,j,m,k : integer;
begin
  n := StrToInt(Edit1.Text);
  m := StrToInt(Edit4.Text);
  k := 0;
  // отметка времени о начале цикла управляющих импульсов
   _pusk:= StrToInt(FormatDateTime('s',Now)+ FormatDateTime('zzz',Now));
  for i := 1 to n do
    begin
      Out32($378,0);
        for j := 1 to m do
          begin
            inc(k);
          end;
      if RadioButton1.Checked then
        Out32($378,5);
      if RadioButton2.Checked then
        Out32($378,7);
      Label7.Caption := IntToStr(Inp32($378));
    end;
    //  отметка времени об окончании цикла
   _stop:= StrToInt(FormatDateTime('s',Now)+ FormatDateTime('zzz',Now));[/
  // разница и есть время цикла
   _time:= (_stop - _pusk);
end;
Данный код не годится. Вы обнуляете выход порта ( Out32($378,0)) - НЕТ ИМПУЛЬСОВ. Затем пауза между импульсами (цикл по j). Далее включается импульс управления (Out32($378,5)) - конец иттерации цикла i и тут же следующая иттерация - отключение импульса в начале цикла. В итоге длительность самого импульса мизерно мала. Нужна еще задержка на длительность импульса.
Советую внимательно посмотреть код в проекте, который я приложил ранее.Там все ответы на Ваши вопросы.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 02.12.2009, 07:51   #13
remz
 
Регистрация: 14.11.2009
Сообщений: 8
По умолчанию

да, не заметил вашу программу, сегодня попробую её, потом если что переделаю свою, так гораздо удобней и скорость можно вручную задать(а не как в моей изменением выполнения вложенных циклов)
remz вне форума Ответить с цитированием
Старый 02.12.2009, 15:47   #14
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Еще один метод формирования импульсов без применения таймеров и циклов.
Цикличность работы обуславливается безусловным переходом GOTO.
И хотя почему то есть мнение, что использование оператора GOTO является
"дурным тоном" (лично я так не считаю - такой же оператор как и другие в Паскале),
в данном случае есть возможность в любой момент применить прерывание
или же выполнение других паралельных задач.
Программа во вложении, там же диаграмма, объясняющая работу.
Вложения
Тип файла: rar Упр2ШД.rar (26.1 Кб, 45 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 04.12.2009, 22:45   #15
remz
 
Регистрация: 14.11.2009
Сообщений: 8
По умолчанию

DeKot, большое Вам спасибо, буду разбираться
remz вне форума Ответить с цитированием
Старый 30.09.2010, 08:23   #16
Serious_Jonik
Новичок
Джуниор
 
Регистрация: 30.09.2010
Сообщений: 1
По умолчанию Все очень просто

Ключевое слово "многопоточность"
Serious_Jonik вне форума Ответить с цитированием
Старый 06.10.2010, 22:28   #17
YURAN_P
 
Регистрация: 27.05.2010
Сообщений: 3
По умолчанию

ЗДРАВСТВУЙТЕ РЕБЯТА! а у меня другая проблема. имеется контроллер на базе связки К155лН1, К155ИД3 и триггера К555ТР2 подключенных через LPT-port. как обеспечить время необходимое для срабатывания демультиплексора и триггера
YURAN_P вне форума Ответить с цитированием
Старый 06.10.2010, 22:39   #18
YURAN_P
 
Регистрация: 27.05.2010
Сообщений: 3
Сообщение

ЗДРАВСТВУЙТЕ РЕБЯТА! а у меня другая проблема. имеется контроллер на базе связки К155лН1, К155ИД3 и триггера К555ТР2 подключенных через LPT-port. как обеспечить время необходимое для срабатывания демультиплексора и триггера.
Подскажите, где ошибка?

function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll';
function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll';

type
TForm1 = class(TForm)

Timer1: TTimer;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Button3: TButton;

procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
sec: Integer;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
sec:=sec+1;
label1.Caption:=IntToStr(Sec);
if sec=5 then Out32(888,16);
Out32(888,24);
Out32(888,20);
Out32(888,28);
Out32(888,18);
Out32(888,48);
if sec=10 then Out32(888,0);

if sec=15 then sec:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
sec:=0;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Timer1.Enabled:=True;
end;

end.
YURAN_P вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LPT ПОРТ master3763 Общие вопросы C/C++ 7 11.08.2009 10:32
LPT-порт адресация #378 Dj_smart Компьютерное железо 0 08.06.2009 15:53
LPT порт. Maxs Помощь студентам 2 19.04.2009 11:47
COM порт, или LPT... _riddik Общие вопросы Delphi 1 08.06.2007 22:33