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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? avr309.dpr

?? Appliction => rs232測試 應用程式 Driver => usb to rs232 驅動程式(wdm ddk) DLL => 應用程式 Firmware =&g
?? DPR
?? 第 1 頁 / 共 3 頁
字號:
    if SendToDriver(FNCNumberDoSetOutDataPort,Param1,Param2,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoSetOutDataPort(DataOutByte:byte):integer;  stdcall export;
//;set data bits (if are bits as input, then set theirs pull-ups)
  begin
    Result:=DoSetOutDataPorts(DataOutByte,DataOutByte,DataOutByte,$FF);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetOutDataPorts(var DataOutByteB, DataOutByteC, DataOutByteD:byte; var UsedPorts:byte):integer;  stdcall export;
//;get data bits (if are bits as input, then get theirs pull-ups)
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=3;
    if not SendToDriver(FNCNumberDoGetOutDataPort,0,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    UsedPorts:=0;
    if (OutLength>0)and(@DataOutByteB<>nil) then
      begin
        DataOutByteB:=OutputData[0];
        UsedPorts:=UsedPorts or 1;
      end;
    if (OutLength>1)and(@DataOutByteC<>nil) then
      begin
        DataOutByteC:=OutputData[1];
        UsedPorts:=UsedPorts or 2;
      end;
    if (OutLength>2)and(@DataOutByteD<>nil) then
      begin
        DataOutByteD:=OutputData[2];
        UsedPorts:=UsedPorts or 4;
      end;
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetOutDataPort(var DataOutByte:byte):integer;  stdcall export;
//;get data bits (if are bits as input, then get theirs pull-ups)
  var
    Dummy:byte;
  begin
    Result:=DoGetOutDataPorts(DataOutByte,Dummy,Dummy,Dummy);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetInDataPorts(var DataInByteB, DataInByteC, DataInByteD:byte; var UsedPorts:byte):integer;  stdcall export;
//;get data bits - pin reading
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=3;
    if not SendToDriver(FNCNumberDoGetInDataPort,0,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    UsedPorts:=0;
    if (OutLength>0)and(@DataInByteB<>nil) then
      begin
        DataInByteB:=OutputData[0];
        UsedPorts:=UsedPorts or 1;
      end;
    if (OutLength>1)and(@DataInByteC<>nil) then
      begin
        DataInByteC:=OutputData[1];
        UsedPorts:=UsedPorts or 2;
      end;
    if (OutLength>2)and(@DataInByteD<>nil) then
      begin
        DataInByteD:=OutputData[2];
        UsedPorts:=UsedPorts or 4;
      end;
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetInDataPort(var DataInByte:byte):integer;  stdcall export;
//;get data bits - pin reading
  var
    Dummy:byte;
  begin
    Result:=DoGetInDataPorts(DataInByte,Dummy,Dummy,Dummy);
  end;
//-------------------------------------------------------------------------------------------------------
function DoSetRS232DataBits(DataBits:byte):integer;  stdcall export;
//;set databits number of RS232
  begin
    if not(DataBits in [5,6,7,8]) then
      begin
        Result:=INVALID_DATABITS;
        Exit;
      end;
    DataBits:=DataBits-5;
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if SendToDriver(FNCNumberDoSetRS232DataBits,DataBits,0,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetRS232DataBits(var DataBits:byte):integer;  stdcall export;
//;get databits number of RS232
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if not SendToDriver(FNCNumberDoGetRS232DataBits,0,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    DataBits:=OutputData[0]+5;
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoSetRS232Parity(Parity:byte):integer;  stdcall export;
//;set parity of RS232
  const
    ParityNone		=0;
    ParityOdd		=1;
    ParityEven		=2;
    ParityMark		=3;
    ParitySpace		=4;
  begin
    if not(Parity in [ParityNone,ParityOdd,ParityEven,ParityMark,ParitySpace]) then
      begin
        Result:=INVALID_PARITY;
        Exit;
      end;
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if SendToDriver(FNCNumberDoSetRS232Parity,Parity,0,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetRS232Parity(var Parity:byte):integer;  stdcall export;
//;get parity of RS232
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if not SendToDriver(FNCNumberDoGetRS232Parity,0,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    Parity:=OutputData[0];
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoSetRS232StopBits(StopBits:byte):integer;  stdcall export;
//;set stopbits of RS232
  const
    StopBit1		=0;
    StopBit2		=1;
  begin
    if not(StopBits in [StopBit1,StopBit2]) then
      begin
        Result:=INVALID_STOPBITS;
        Exit;
      end;
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if SendToDriver(FNCNumberDoSetRS232StopBits,StopBits,0,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoGetRS232StopBits(var StopBits:byte):integer;  stdcall export;
//;get stopbits of RS232
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if not SendToDriver(FNCNumberDoGetRS232StopBits,0,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    StopBits:=OutputData[0];
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoEEPROMRead(Address:word; var DataInByte:byte):integer;  stdcall export;
//;read EEPROM from given address
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if not SendToDriver(FNCNumberDoEEPROMRead,Address,0,OutputData,OutLength) then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    DataInByte:=OutputData[0];
    Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoEEPROMWrite(Address:word; DataOutByte:byte):integer;  stdcall export;
//;write data byte to EEPROM to given address
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if SendToDriver(FNCNumberDoEEPROMWrite,Address,DataOutByte,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoRS232Send(DataOutByte:byte):integer;  stdcall export;
//;send one data byte to RS232 line
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=1;
    if SendToDriver(FNCNumberDoRS232Send,DataOutByte,0,OutputData,OutLength) then
      Result:=NO_ERROR;
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoRS232Read(var DataInByte:byte):integer;  stdcall export;
//;read one data byte from serial line (only when FIFO not implemented in device)
  begin
    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;
        Exit;
      end;
    Result:=DEVICE_NOT_PRESENT;
    OutLength:=3;
    if not SendToDriver(FNCNumberDoRS232Read,0,0,OutputData,OutLength)then
      begin
        SetEvent(SerializationEvent);
        Exit;
      end;
    if OutLength=2 then
      begin
        Result:=NO_DATA_AVAILABLE;
        SetEvent(SerializationEvent);
        Exit;
      end;
    Result:=NO_ERROR;
    if OutLength=3 then
      begin
        Result:=OVERRUN_ERROR;
      end;
    DataInByte:=OutputData[0];
    SetEvent(SerializationEvent);
  end;
//-------------------------------------------------------------------------------------------------------
function DoSetRS232Baud(BaudRate:integer):integer;  stdcall export;
//;set baud speed of serial line
//BAUD=12e6/(16*(WORD+1))
  var
    BaudRateByte:word;
    BaudRateDouble:double;
    BaudError:double;
    MaxBaudRateByte:integer;
  const
    Error=0.04; //4% max chyba
    MaxError=1+Error;
    MinError=1-Error;
  begin
    DoGetRS232Baud(MaxBaudRateByte);
    if UARTx2Mode then
      begin
        MaxBaudRateByte:=4095;
        BaudRate:=Round(BaudRate/2);
      end
    else
      begin
        MaxBaudRateByte:=255;
      end;
    Result:=INVALID_BAUDRATE;
    if BaudRate >= 12e6/16*MaxError then Exit;
    if BaudRate <= 12e6/(16*(MaxBaudRateByte+1))*MinError then Exit;
    BaudRateDouble:=Round(12e6/(16*BaudRate)-1);
    if BaudRateDouble<0 then BaudRateDouble:=0;
    if BaudRateDouble>MaxBaudRateByte then BaudRateDouble:=MaxBaudRateByte;
    BaudError:=12e6/(16*(BaudRateDouble+1))/BaudRate;
    if BaudError>MaxError then Exit;
    if BaudError<MinError then Exit;
    BaudRateByte:=Round(BaudRateDouble);

    if WaitForSingleObject(SerializationEvent,SerializationEventTimeout)=WAIT_TIMEOUT then
      begin
        ShowThreadErrorMessage;
        Result:=DEVICE_NOT_PRESENT;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久夜精品精品免费| 三级久久三级久久久| 亚洲精品乱码久久久久久久久 | 国产宾馆实践打屁股91| 91色.com| 久久久久久久久久看片| 亚洲第一搞黄网站| 成人黄色免费短视频| 国产精品高潮呻吟| 另类小说图片综合网| 在线观看一区二区视频| 国产亚洲1区2区3区| 三级一区在线视频先锋| 91老师片黄在线观看| 久久男人中文字幕资源站| 午夜视频久久久久久| 91在线国产福利| 国产欧美一区二区在线观看| 日韩精品91亚洲二区在线观看| 成人av在线电影| 久久久久久久国产精品影院| 免费欧美日韩国产三级电影| 欧美午夜在线观看| 一区二区欧美国产| 91丝袜美腿高跟国产极品老师| 久久久久久一级片| 国产在线国偷精品产拍免费yy| 欧美一区二区三区日韩| 亚洲图片欧美色图| 在线视频欧美精品| 夜夜嗨av一区二区三区四季av| 99精品久久只有精品| 国产免费成人在线视频| 国产剧情av麻豆香蕉精品| 精品久久久久久无| 久草精品在线观看| 久久先锋资源网| 国产精品一区二区久激情瑜伽 | 久久精品国产99久久6| 欧美高清性hdvideosex| 午夜欧美在线一二页| 欧美猛男男办公室激情| 男人的j进女人的j一区| 日韩视频在线观看一区二区| 日本不卡高清视频| 精品电影一区二区| 国产a久久麻豆| 中文字幕在线一区| 色av成人天堂桃色av| 亚洲成av人影院| 欧美一级片在线观看| 精品系列免费在线观看| 国产欧美日韩精品在线| 99久久99久久久精品齐齐| 亚洲乱码国产乱码精品精98午夜| 91福利国产成人精品照片| 五月激情综合网| 欧美精品一区二| www.爱久久.com| 天堂资源在线中文精品| 精品久久五月天| 92精品国产成人观看免费| 亚洲成人7777| 久久网站最新地址| 色综合天天综合网天天狠天天 | 自拍av一区二区三区| 欧美亚洲图片小说| 免费成人在线播放| 国产精品美女久久久久久久久久久 | 日本va欧美va精品发布| 久久久另类综合| 欧美色倩网站大全免费| 精品一区二区精品| 亚洲欧美日韩国产手机在线| 91精品国产综合久久精品图片| 国产精一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在 | 久久综合网色—综合色88| 色综合久久久久久久久| 老司机一区二区| 一区二区三区在线看| 精品国产91乱码一区二区三区 | 亚洲黄色在线视频| 精品国免费一区二区三区| 色狠狠av一区二区三区| 国产一区二区三区国产| 亚洲香肠在线观看| 中文字幕亚洲精品在线观看| 日韩欧美一区二区免费| 一本色道**综合亚洲精品蜜桃冫| 韩国精品在线观看| 天堂蜜桃91精品| 玉米视频成人免费看| 2023国产精品| 制服.丝袜.亚洲.中文.综合| 色综合亚洲欧洲| 成人小视频免费观看| 麻豆高清免费国产一区| 天天亚洲美女在线视频| 亚洲黄一区二区三区| 国产精品毛片高清在线完整版| 日韩一级欧美一级| 91精品国产综合久久香蕉的特点| 欧美视频三区在线播放| 欧美一区二区三区四区高清| 日本久久一区二区| 99re66热这里只有精品3直播 | jlzzjlzz亚洲日本少妇| 国产精品2024| 国内久久婷婷综合| 久久 天天综合| 久久99国产精品久久99果冻传媒| 午夜精品久久久久久久久久久| 亚洲国产美女搞黄色| 亚洲欧美电影院| 亚洲欧洲在线观看av| 国产精品女主播av| 欧美国产禁国产网站cc| 国产农村妇女精品| 国产精品全国免费观看高清| 国产精品二三区| 一区二区三区加勒比av| 亚洲精品日韩综合观看成人91| 亚洲免费资源在线播放| 有坂深雪av一区二区精品| 亚洲一区二区三区三| 五月天欧美精品| 久久99热这里只有精品| 国产自产v一区二区三区c| 激情综合五月天| 国产成a人亚洲精| av电影在线观看一区| 色悠悠久久综合| 欧美午夜精品久久久久久孕妇| 欧美日韩久久久一区| 日韩欧美一二三区| 欧美—级在线免费片| 亚洲欧美日韩国产中文在线| 亚洲h精品动漫在线观看| 精品在线亚洲视频| 不卡电影一区二区三区| 欧洲一区二区三区在线| 91精品国产入口| 久久精品人人爽人人爽| 日韩久久一区二区| 五月婷婷综合在线| 国内不卡的二区三区中文字幕| 大美女一区二区三区| 欧美无砖专区一中文字| 精品少妇一区二区三区免费观看| 国产日韩欧美综合一区| 一区二区三区中文字幕精品精品| 日韩中文字幕不卡| 成人一区二区视频| 欧美激情在线一区二区三区| 亚洲男人的天堂网| 麻豆精品国产传媒mv男同| av中文字幕一区| 欧美一区二区不卡视频| 国产精品国产自产拍高清av | 欧美丰满嫩嫩电影| 日本一区二区三区国色天香 | 一区二区三区四区不卡视频| 日韩精品乱码免费| 9i看片成人免费高清| 日韩欧美一区二区视频| 亚洲四区在线观看| 久久国产剧场电影| 欧洲精品在线观看| 欧美激情艳妇裸体舞| 日韩精品免费专区| 日本久久电影网| 中文av一区特黄| 久久99精品国产91久久来源| 91久久精品一区二区二区| 26uuu亚洲| 奇米精品一区二区三区在线观看一| 91性感美女视频| 久久久精品人体av艺术| 免费人成网站在线观看欧美高清| 色成人在线视频| 国产精品对白交换视频| 国产精品一级片| 精品国产区一区| 日韩精品国产欧美| 欧美日韩在线亚洲一区蜜芽| 亚洲精品成人少妇| www.日韩在线| 亚洲欧美一区二区视频| 国内精品嫩模私拍在线| 在线成人小视频| 亚洲国产成人av| 久久青草欧美一区二区三区| 日本91福利区| 日韩一区二区三区在线视频| 亚洲国产精品久久一线不卡| 91精品福利在线| 亚洲自拍与偷拍| 欧美在线看片a免费观看| 一区二区三区国产豹纹内裤在线|