roboforum.ru

Технический форум по робототехнике.

WoodmanUSB

WoodmanUSB

tviktor » 14 авг 2009, 07:52

Кто нибуть работал с этим устройством,как считать данные из порта В.

Re: WoodmanUSB

EdGull » 14 авг 2009, 07:53

вопрос поставь

Re: WoodmanUSB

MiBBiM » 14 авг 2009, 09:22

http://www.pcports.ru/Articles.php (ближе к низу страницы)

Re: WoodmanUSB

avr123.nm.ru » 14 авг 2009, 10:24

А на какой микросхеме сделан этот модуль ?

Re: WoodmanUSB

tviktor » 17 авг 2009, 07:55

Мне необходимо считать три байта или более из порта В,пример нужен на делфи.
На сайте есть пример но на Си,а я в нем нерублю.
С портом А разобрался работает отлично,помогите с портом В.

Re: WoodmanUSB

EdGull » 17 авг 2009, 08:21

код для порта А в студию!

Re: WoodmanUSB

tviktor » 17 авг 2009, 10:54

Код: Выделить всёРазвернуть
unit Unit1;

interface

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

  function WUSB_Open():Longint; cdecl; external 'WUSBdrv.dll';
  function WUSB_SetupPortA(iomsk: Byte):Longint; cdecl; external 'WUSBdrv.dll';
  function WUSB_WritePortA(value: Byte):Longint; cdecl; external 'WUSBdrv.dll';
  function WUSB_ReadPortA(value: Pointer):Longint; cdecl; external 'WUSBdrv.dll';

type
  TForm1 = class(TForm)
.........
procedure TForm1.Button1Click(Sender: TObject);
var
    status: Longint;
begin
    status:=WUSB_Open();
    if status = 1 then
      begin
        MessageDlg('Open Ok', mtInformation, [mbOK], 0);
      end
      else
      begin
        MessageDlg('Open Error...', mtError, [mbOK], 0);
      end
end;

procedure TForm1.Button2Click(Sender: TObject);
var
    status: Longint;
begin
    status := WUSB_SetupPortA(StrToInt(Edit1.Text));
    if status = 0 then
      begin
        MessageDlg('Setup Error', mtInformation, [mbOK], 0);
      end
      else
      begin
         MessageDlg('Setup OK', mtInformation, [mbOK], 0);
      end
end;

procedure TForm1.Button3Click(Sender: TObject);
var
    status: Longint;
begin
    status := WUSB_WritePortA(StrToInt(Edit2.Text));
    if status = 0 then
      begin
        MessageDlg('Write Error', mtInformation, [mbOK], 0);
      end
end;
procedure TForm1.Button4Click(Sender: TObject);
var
    status: Longint;
    data: Byte;
begin
    status := WUSB_ReadPortA(@data);
    if status = 0 then
      begin
        MessageDlg('Read Error', mtInformation, [mbOK], 0);
      end
    else
      begin
        Edit3.Text:= IntToStr(data);
      end
end;


C портом А мне все понятно.

Re: WoodmanUSB

galex1981 » 17 авг 2009, 10:57

Пульзуйтесь тэгом code, неудобно читать

Re: WoodmanUSB

tviktor » 19 авг 2009, 09:28

Проблемма в том , что при чтении из порта В статус равен 1,а это ошибка чтения.

Re: WoodmanUSB

tviktor » 20 авг 2009, 04:04

Спасибо всем разобрался сам.


cron
Rambler\'s Top100 Mail.ru counter