亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit1.pas

?? AVR模擬USB上位機(jī)控制代碼,DELPHI
?? PAS
字號:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,libusb, Spin, ComCtrls, Gauges;

type
  TForm1 = class(TForm)
    Button3: TButton;
    GroupBox1: TGroupBox;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    SpinEdit3: TSpinEdit;
    SpinEdit4: TSpinEdit;
    Button8: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    Label5: TLabel;
    StatusBar1: TStatusBar;
    Label6: TLabel;
    Gauge1: TGauge;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure SpinEdit4Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  procedure setreset(cmd,duration,port:integer);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  udev: pusb_dev_handle;
  S: array [0..255] of char;
  buffer:array[0..2] of byte;
  numbites:integer;
  cb:array[0..7] of Tcheckbox;

const PSCMD_ECHO=  0;
      PSCMD_GET=   1;
      PSCMD_ON=    2;
      PSCMD_OFF=   3;


implementation

{$R *.DFM}

function btbool(data:word;bit:word):boolean;
begin
asm     pusha
        mov     ax,&data
        mov     bx,&bit
        bt      ax,bx
        jnc     @zero
        mov     &result,1
        jmp     @out
@zero:  mov     &result,0
@out:   popa
end;
end;


function echo(inputdata:integer):boolean;
var r:integer;
begin
result:=true;
numbites:= usb_control_msg(udev, USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN, PSCMD_ECHO, inputdata, 0, buffer, sizeof(buffer), 5000);
r:= (buffer[0] or (buffer[1] shl 8 ));
if r<>inputdata then result:=false;
if (numbites <>2) then result:=false;
end;

function getstatus():integer;
begin
numbites:= usb_control_msg(udev, (USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN), PSCMD_GET, 0, 0, buffer, sizeof(buffer), 5000);
if (numbites<2) then showmessage(usb_strerror);
result:=(buffer[1] shl 8)+buffer[0];
end;

procedure TForm1.Button3Click(Sender: TObject);
var foundvendor,foundprodukt:boolean;
    bus: pusb_bus;
    dev: pusb_device;
begin
foundvendor:=false;
foundprodukt:=false;
usb_init; // Initialize libusb
form1.Caption:=usb_strerror;
if(usb_find_busses<1) then showmessage(usb_strerror);
if (usb_find_devices<1) then showmessage(usb_strerror); // Find all devices on all USB devices
bus := usb_get_busses; // Return the list of USB busses found
if  bus=nil then showmessage(usb_strerror);
while Assigned(bus) do
      begin
      dev := bus^.devices;
      while Assigned(dev) do
            begin
            if dev^.descriptor.idVendor=5824  then foundvendor:=true;
            if dev^.descriptor.idProduct=1500 then foundprodukt:=true;
            if (foundvendor and foundprodukt) then begin
                                                   udev:= usb_open(dev);
                                                   Button4.Click;
                                                   GroupBox1.Visible:=true;
                                                   SpinEdit4.OnChange(self);
                                                   break;
                                                   end else begin foundvendor:=false; foundprodukt:=false; end;
            dev := dev^.next;
            end;
            if  (foundvendor and foundprodukt) then break;
            bus := bus^.next;
       end;
statusbar1.Panels[0].Text:=usb_strerror;
if not (foundvendor and foundprodukt) then showmessage('Powerswitch (VID=0x16C0  PID=0x05DC)'+chr(10)+chr(13)+'Not Found');
end;

procedure TForm1.Button4Click(Sender: TObject);
var i,status:integer;
begin
if Assigned(udev) then
                  begin
                  status:=getstatus;
                  label5.Caption:=inttostr(status);
                  label5.Visible:=true;
                  for i:=low(cb) to high(cb) do cb[i].Checked:=btbool(status,i);
                  end;
statusbar1.Panels[0].Text:=usb_strerror;
end;

procedure TForm1.Button5Click(Sender: TObject);
var  i,v,j:integer;
     sukkes:boolean;
     t:dword;
begin
j:=1000;
label6.Caption:='In Progress';
label6.Visible:=true;
application.ProcessMessages;
sukkes:=true;
t:=0;
Button5.Enabled:=false;
if Assigned(udev) then
                  begin
                  randomize;
                  Gauge1.MaxValue:=j;
                  t:=gettickcount;
                  for i:=1 to j do     begin
                                          Gauge1.Progress:=i;
                                          v:=random(255);
                                          if not echo(v)  then begin
                                                               statusbar1.Panels[0].Text:=usb_strerror;
                                                               sukkes:=false;
                                                               end;
                                          end;
                  t:=gettickcount-t;
                  end;
statusbar1.Panels[0].Text:=usb_strerror;
if sukkes then    label6.Caption:='PASSED  ' + inttostr(t) + ' mS'
   else label6.Caption:='NOT PASSED';
Application.ProcessMessages;
Button5.Enabled:=True;
end;

procedure TForm1.setreset(cmd,duration,port:integer);
begin
numbites:= usb_control_msg(udev, (USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN), CMD, duration, port, buffer, sizeof(buffer), 5000);
if(numbites < 0) then showmessage(usb_strerror);
statusbar1.Panels[0].Text:=usb_strerror;
end;


procedure TForm1.Button6Click(Sender: TObject);
begin
setreset(PSCMD_ON,0,spinedit1.value);
Button4.Click;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
setreset(PSCMD_Off,0,spinedit1.value);
Button4.Click;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
if spinedit2.value=0 then setreset(PSCMD_Off,spinedit4.value,spinedit3.value)
   else setreset(PSCMD_ON,spinedit4.value,spinedit3.value);
end;

procedure TForm1.SpinEdit4Change(Sender: TObject);
begin
if SpinEdit4.Value=0 then label4.Caption:='Permanent switch' else
   label4.Caption:=inttostr(SpinEdit4.Value*200)+' ms';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
cb[0]:=checkbox1;
cb[1]:=checkbox2;
cb[2]:=checkbox3;
cb[3]:=checkbox4;
cb[4]:=checkbox5;
cb[5]:=checkbox6;
cb[6]:=checkbox7;
cb[7]:=checkbox8;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if udev<>nil then usb_close(udev);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区中文字幕| 国产大片一区二区| aaa亚洲精品一二三区| 日韩欧美一级片| 亚洲国产精品一区二区久久| 成人美女视频在线看| 欧美一区二区三区四区五区 | 国产精品视频一二三| 亚洲精品视频一区二区| 久久免费美女视频| 亚洲精品伦理在线| 成人少妇影院yyyy| 亚洲国产成人在线| 裸体健美xxxx欧美裸体表演| 成人av在线电影| 国产日韩精品一区二区三区| 激情深爱一区二区| 久久―日本道色综合久久| 日韩av网站在线观看| 日韩三级在线观看| 蜜桃久久久久久| 久久久午夜电影| 高清在线成人网| 亚洲日本va在线观看| 91色|porny| 午夜国产精品影院在线观看| 欧美视频中文一区二区三区在线观看| 亚洲一区国产视频| 日韩免费成人网| 国产精品资源在线| 亚洲精品视频在线| 欧美精品一区二区三区视频| 91精品国产高清一区二区三区| 五月天久久比比资源色| 久久众筹精品私拍模特| jlzzjlzz欧美大全| 丝袜亚洲另类欧美| 久久亚洲捆绑美女| 欧美手机在线视频| 国产91在线观看| 首页欧美精品中文字幕| 中文字幕av一区二区三区高| 欧美三级一区二区| 国产大陆精品国产| 国产精品欧美一级免费| 韩国av一区二区三区四区| 91久久国产最好的精华液| 中国色在线观看另类| 91精品福利视频| 8v天堂国产在线一区二区| 亚洲天堂中文字幕| 久久理论电影网| 91精品婷婷国产综合久久| 粉嫩在线一区二区三区视频| 日本成人在线视频网站| 一区二区三区成人| 国产欧美日韩精品在线| 91精品午夜视频| 欧美三级日韩三级| av电影在线观看不卡| 国产麻豆精品在线| 久久精品国产99久久6| 亚洲二区在线视频| 亚洲男同性恋视频| 国产精品乱码妇女bbbb| 久久久久一区二区三区四区| 欧美一区二区三区在线观看视频| 日本精品一级二级| 91香蕉视频mp4| 成人app下载| 成人自拍视频在线| 丁香天五香天堂综合| 国产精品一级在线| 国精产品一区一区三区mba视频| 日本大胆欧美人术艺术动态| 日韩—二三区免费观看av| 视频精品一区二区| 亚洲成人av电影在线| 亚洲电影视频在线| 亚洲成av人在线观看| 亚洲第一成年网| 午夜精品久久久久久久| 日韩成人精品视频| 老汉av免费一区二区三区 | 波多野结衣91| 成人高清伦理免费影院在线观看| 国产老女人精品毛片久久| 精品一区二区三区免费观看 | 一区二区三区中文字幕精品精品| 国产精品久久久久久久久免费樱桃 | 亚洲精品视频一区二区| 亚洲乱码中文字幕| 亚洲在线免费播放| 日韩高清在线不卡| 精品一区二区综合| 成人国产精品免费观看视频| 成人a级免费电影| 97久久精品人人澡人人爽| 91久久精品网| 欧美一区二区视频在线观看 | 欧美一区二区视频免费观看| 欧美videos大乳护士334| 久久免费看少妇高潮| 国产精品久久精品日日| 亚洲尤物视频在线| 看国产成人h片视频| 国产风韵犹存在线视精品| 99re视频精品| 在线成人av网站| 久久精品水蜜桃av综合天堂| 亚洲天堂成人网| 蜜臀av一级做a爰片久久| 国产成人亚洲精品青草天美| av福利精品导航| 欧美一区二区精美| 亚洲国产成人一区二区三区| 亚洲欧美另类久久久精品2019| 亚洲与欧洲av电影| 国产成人精品影院| 欧美综合一区二区三区| 欧美成人a在线| 亚洲精品日产精品乱码不卡| 美女免费视频一区| 成人动漫av在线| 欧美日韩国产三级| 欧美激情在线一区二区三区| 午夜视频在线观看一区二区| 国产一区二区伦理| 欧美无乱码久久久免费午夜一区| 精品国产亚洲一区二区三区在线观看| 欧美激情一区在线| 日韩国产在线观看| 色呦呦一区二区三区| 久久伊人中文字幕| 爽好多水快深点欧美视频| 91在线视频观看| 久久久久亚洲蜜桃| 五月婷婷综合激情| 一本久久综合亚洲鲁鲁五月天| 精品国产乱码久久久久久图片| 一区二区三区中文字幕精品精品| 国产91精品一区二区麻豆网站| 91麻豆精品国产| 亚洲综合在线第一页| 97成人超碰视| 国产视频一区二区在线观看| 另类小说色综合网站| 欧美日韩一卡二卡三卡| 中文字幕日本不卡| 懂色av一区二区夜夜嗨| 精品1区2区在线观看| 美腿丝袜一区二区三区| 欧美日韩二区三区| 亚洲一区二区三区四区五区中文| 成人激情小说网站| 国产三级欧美三级日产三级99 | 丰满少妇在线播放bd日韩电影| 精品欧美久久久| 麻豆精品久久久| 日韩欧美一卡二卡| 男人的j进女人的j一区| 7799精品视频| 日欧美一区二区| 欧美日韩成人综合天天影院| 一区二区欧美精品| 在线观看网站黄不卡| 亚洲精品乱码久久久久久黑人| 成人18视频日本| 中文字幕在线观看一区| av午夜一区麻豆| 亚洲另类在线视频| 欧美性一级生活| 天天综合色天天综合| 91精品国产色综合久久| 男女男精品视频网| 亚洲精品一区二区精华| 国产精品一区不卡| 中文字幕在线不卡一区二区三区| 99免费精品视频| 一区二区三区四区av| 欧美色图片你懂的| 免费久久99精品国产| 26uuu精品一区二区| 东方aⅴ免费观看久久av| 亚洲男人电影天堂| 欧美日韩精品一区视频| 麻豆精品久久精品色综合| 久久久久久亚洲综合| 成人免费观看男女羞羞视频| 亚洲欧美综合另类在线卡通| 欧洲av一区二区嗯嗯嗯啊| 天天综合色天天综合色h| 26uuuu精品一区二区| 99久久国产综合色|国产精品| 亚洲国产日产av| 欧美不卡一区二区| 成人av网站在线观看免费| 亚洲福利电影网| 国产午夜精品一区二区三区四区| 91啪亚洲精品|