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

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

?? umain.~pas

?? 利用ymodem協議通過串口傳輸數據或文件
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號:
    tmpByte[index] := ord(s[i]);
    inc(index);
  end; //文件大小

  for i := index to 127 do //0-127之間除有效的字節(文件名及大小)其他空字節補上$00
  begin
    tmpByte[index] := $00;
    inc(index);
  end;
  ByteID := $00;
  ctcBuf := UFunction.CRC16(tmpByte, 128, backHexValue); //只對128位數據位進行校驗,前三位不作校驗
  UFunction.RecordLogToMemo('CRC16[' + inttostr(ByteID) + ']:backHexValue<' + backHexValue + '>', memo1);
  tmpByte[index] := ctcBuf.Highbyte; inc(index);
  tmpByte[index] := ctcBuf.Lowbyte; inc(index);

  buf[0] := SOH;
  buf[1] := ByteID;
  buf[2] := $FF - ByteID;
  inc(ByteID);
  CopyMemory(@buf[3], @tmpByte, index);
  inc(index, 3);

  UFunction.ProcIntToHexs(@buf, index, tmpbuf, true);
  Comm1.WriteCommData(@buf, index);
  UFunction.RecordLogToMemo('Has Send Header[' + inttostr(ByteID - 1) + ']<' + inttostr(index) + '>:' + tmpBuf, Memo1);
  memo1.Lines.Add('************************************************');
end;

function TFmain.SendData_128: integer;
var buf: array[0..1023] of byte;
  tmpByte: array[0..1023] of byte;
  tmpBuf: array[0..1023] of char;
  i, Len: integer;
  ctcBuf: TMyCTC16;
  backHexValue: string;
begin
  try
    ZeroMemory(@buf, sizeof(buf));
    ZeroMemory(@tmpByte, sizeof(tmpByte));
    ZeroMemory(@tmpbuf, sizeof(tmpbuf));
    MyFile.ReadBuffer(tmpByte, LastSize);
    Len := 128;
    for i := LastSize to Len - 1 do
    //空字符以$1A填充
      tmpByte[i] := $1A;
    ctcBuf := UFunction.CRC16(tmpByte, 128, backHexValue);
    UFunction.RecordLogToMemo('CRC16[' + inttostr(ByteID) + ']:backHexValue<' + backHexValue + '>', memo1);
    tmpByte[Len] := ctcBuf.Highbyte; len := len + 1; //len=129
    tmpByte[Len] := ctcBuf.Lowbyte; len := len + 1; //len=130
    buf[0] := SOH;
    buf[1] := ByteID;
    buf[2] := $FF - ByteID;
    inc(ByteID);
    CopyMemory(@buf[3], @tmpByte, len);
    len := len + 3;
    UFunction.ProcIntToHexs(@buf, len, tmpbuf, true);
    Comm1.WriteCommData(@buf, Len);
    UFunction.RecordLogToMemo('Has Send Data[' + inttostr(ByteID - 1) + ']<' + inttostr(Len) + '>:' + tmpBuf, Memo1);
    memo1.Lines.Add('************************************************');
    LastSize := LastSize - 128;
    Result := 0;
  except
    Result := -1;
  end;
end;

function TFmain.SendData_1K: integer;
var buf: array[0..2048] of byte;
  tmpByte: array[0..2048] of byte;
  tmpBuf: array[0..4096] of char; //4096>1029*3
  i, Len: Integer;
  ctcBuf: TMyCTC16;
  backHexValue: string;
begin
  try
    ZeroMemory(@buf, sizeof(buf));
    ZeroMemory(@tmpByte, sizeof(tmpByte));
    ZeroMemory(@tmpbuf, sizeof(tmpbuf));

    Len := 1024;
    if LastSize < 1024 then //小于1024則用用$1A填充
    begin
      MyFile.ReadBuffer(tmpByte, LastSize);
      for i := LastSize to len - 1 do
        tmpByte[i] := $1A;
    end
    else if LastSize >= 1024 then
    begin
      MyFile.ReadBuffer(tmpByte, 1024);
    end;
    ctcBuf := UFunction.CRC16(tmpByte, 1024, backHexValue);
    UFunction.RecordLogToMemo('CRC16[' + inttostr(ByteID) + ']:backHexValue<' + backHexValue + '>', memo1);
    tmpByte[len] := ctcBuf.Highbyte;
    len := len + 1; //len=1025
    tmpByte[len] := ctcBuf.Lowbyte;
    len := len + 1; //len=1026
    buf[0] := STX; //$02
    buf[1] := ByteID;
    buf[2] := $FF - ByteID;
    inc(ByteID);
    CopyMemory(@buf[3], @tmpByte, len);
    len := len + 3; //1029

    UFunction.ProcIntToHexs(@buf, len, tmpbuf, true);
    Comm1.WriteCommData(@buf, Len);
    UFunction.RecordLogToMemo('Has Send Data[' + inttostr(ByteID - 1) + ']<' + inttostr(Len) + '>:' + tmpBuf, Memo1);
    memo1.Lines.Add('************************************************');
    LastSize := LastSize - 1024;
    Result := 0;
  except
    Result := -1;
  end;
end;

function TFmain.SendEnd: integer;
var buf: array[0..1023] of byte;
  i: integer;
  tmpBuf: array[0..1023] of char;
begin
  ZeroMemory(@buf, sizeof(buf));
  ZeroMemory(@tmpbuf, sizeof(tmpbuf));
  buf[0] := EOT; //結束結束$04
  Comm1.WriteCommData(@buf, 1);
  UFunction.RecordLogToMemo('Has Send End of Eot[$04]', Memo1);
  buf[0] := SOH;
  buf[1] := $00;
  buf[2] := $FF; //表明后面沒有續發的文件了,
  for i := 3 to 133 - 1 do
    buf[i] := $00;
  UFunction.ProcIntToHexs(@buf, 133, tmpbuf, true);
  Comm1.WriteCommData(@buf, 133);
  UFunction.RecordLogToMemo('Has Send EndData[$00]<133>:' + tmpBuf, Memo1);
  memo1.Lines.Add('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
end;

procedure TFmain.BitBtn2Click(Sender: TObject);
begin
  Comm1.CommName := ComboBox1.Text;
  Comm1.BaudRate := strtoint(ComboBox2.Text);
  Comm1.ByteSize := TByteSize(ComboBox3.ItemIndex);
  Comm1.StopBits := TStopBits(ComboBox4.ItemIndex);
  Comm1.Parity := (None);
  try
    Comm1.StartComm;
    Shape1.Brush.Color := clLime;
  except
  end;
end;

procedure TFmain.BitBtn3Click(Sender: TObject);
begin
  try
    comm1.StopComm;
    Shape1.Brush.Color := clRed;
    FComOpenFlag := false;
    UFunction.RecordLogToMemo('串口' + comm1.CommName + '關閉', Memo1);
  except
  end;
end;

procedure TFmain.FormCreate(Sender: TObject);
begin
  memo1.Lines.Clear;
  ReSetFlag;
  FComOpenFlag := false;
end;

procedure TFmain.FormShow(Sender: TObject);
begin
  OpenCom;
end;

procedure TFmain.SpeedButton1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    edit1.Text := OpenDialog1.FileName;
end;


procedure TFmain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var RecBuf: PByteArray;
  s: string;
begin
  RecBuf := Buffer;
  s := '';
  if RecBuf[0] = CAC then //通知發送
  begin
    if not ReceiveQuestOfSendFlag then
    begin
      ReceiveQuestOfSendFlag := true;
      s := '收到CAC[請求發送]';
    end
    else if ReceiveQuestOfSendFlag then
    begin
      ReceiveQuestOfSendNextFlag := true;
      FQuestNextStr := 'Rec[' + inttohex(RecBuf[0], 2) + ']>>收到CAC[請求發送下一個]';
    end;
  end
  else if RecBuf[0] = ACK then //確認收到
  begin
    ReceiveRightFlag := true;
    s := '收到ACK[確認收到]';
    if ReceiveQuestOfSendFlag then
      inc(FRecAckCnt);
    RecACKAfterSendEnd := HasSendEndFlag;
  end
  else if RecBuf[0] = NAK then //重發
  begin
    ReceiveReSendFlag := true;
    s := '收到NAK[請求重發]';
  end
  else if RecBuf[0] = CAN then //取消
  begin
    ReceiveCancelFlag := true;
    s := '收到CAN[取消接收]';
  end;
  if s <> '' then
    UFunction.RecordLogToMemo('Rec[' + inttohex(RecBuf[0], 2) + ']>>' + s, memo1);
end;

procedure TFmain.copy1Click(Sender: TObject);
begin
  memo1.SelectAll;
  memo1.CopyToClipboard;
end;

procedure TFmain.cut1Click(Sender: TObject);
begin
  memo1.SelectAll;
  memo1.CutToClipboard;
end;

procedure TFmain.exit1Click(Sender: TObject);
begin
  close;
end;

procedure TFmain.ReSetFlag;
begin
  FSendCnt := 0;
  FRecAckCnt := 0;
  FQuestNextStr := '';
  FSendTime := 0;
  ReceiveQuestOfSendFlag := false;
  ReceiveReSendFlag := false;
  HasSendHeadFlag := false;
  ReceiveRightFlag := false;
  ReceiveCancelFlag := false;
  HasSendEndFlag := false;
  ReceiveQuestOfSendNextFlag := false;
  RecACKAfterSendEnd := false;
end;

procedure TFmain.OpenCom;
begin
  Comm1.CommName := ComboBox1.Text;
  Comm1.BaudRate := strtoint(ComboBox2.Text);
  Comm1.ByteSize := TByteSize(ComboBox3.ItemIndex);
  Comm1.StopBits := TStopBits(ComboBox4.ItemIndex);
  Comm1.Parity := (None);
  try
    Comm1.StartComm;
    FComOpenFlag := true;
    Shape1.Brush.Color := clLime;
    UFunction.RecordLogToMemo('串口' + comm1.CommName + '打開', Memo1);
  except
    Shape1.Brush.Color := clRed;
    UFunction.RecordLogToMemo('串口' + comm1.CommName + '打開失敗', Memo1);
    FComOpenFlag := false;
  end;
end;




end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产肉丝袜一区二区| 亚洲欧美色图小说| 亚洲日本中文字幕区| 奇米综合一区二区三区精品视频| 99久久精品国产观看| 国产精品日产欧美久久久久| 国产一区二区三区四| 国产亚洲欧美一级| 99久久精品免费看| 五月天国产精品| 91精品国产免费| 国产盗摄视频一区二区三区| 国产精品超碰97尤物18| 色婷婷综合久久久中文一区二区| 亚洲免费在线视频| 欧美一区二区免费视频| 国产91丝袜在线18| 亚洲夂夂婷婷色拍ww47| 精品日韩在线观看| 色综合色综合色综合色综合色综合| 亚洲一区二区三区不卡国产欧美| 日韩一级片网址| 不卡视频一二三四| 日韩电影在线免费看| 欧美韩日一区二区三区四区| 欧美日韩在线精品一区二区三区激情 | 亚洲欧美日韩一区| 日韩欧美一级片| caoporn国产一区二区| 日日摸夜夜添夜夜添亚洲女人| 国产色婷婷亚洲99精品小说| 欧美视频在线一区二区三区| 国产又粗又猛又爽又黄91精品| 亚洲欧洲日韩av| 日韩三级视频在线观看| 一本大道av伊人久久综合| 精品一区二区三区香蕉蜜桃| 亚洲久草在线视频| 国产情人综合久久777777| 欧美人成免费网站| 99国内精品久久| 精品一区二区三区免费毛片爱| 亚洲精品视频自拍| 中文字幕精品—区二区四季| 日韩欧美中文字幕一区| 色天天综合久久久久综合片| 国产在线国偷精品产拍免费yy| 亚洲午夜在线电影| 日韩美女啊v在线免费观看| 精品三级av在线| 日韩一区二区中文字幕| 欧美mv和日韩mv的网站| 欧美日韩国产天堂| 在线视频一区二区三| 国产综合久久久久久久久久久久| 亚洲一区二区美女| 国产精品区一区二区三区| 欧美大片国产精品| 3d动漫精品啪啪一区二区竹菊| 91麻豆成人久久精品二区三区| 国产一区二区主播在线| 奇米精品一区二区三区在线观看| 国产精品成人免费| 日韩毛片在线免费观看| 国产精品九色蝌蚪自拍| 国产日韩欧美a| 国产婷婷色一区二区三区四区| 日韩精品一区二区三区视频在线观看| 欧美色偷偷大香| 欧美日韩电影一区| 4438成人网| 精品久久久久香蕉网| 精品精品国产高清a毛片牛牛| 日韩精品一区二区三区在线播放 | 欧美性猛交xxxx黑人交| 91女神在线视频| 一本到高清视频免费精品| 91日韩一区二区三区| 91国产免费观看| 欧美日韩国产bt| 欧美一区二区视频在线观看2022 | 开心九九激情九九欧美日韩精美视频电影| 亚洲国产aⅴ天堂久久| 亚洲国产日韩在线一区模特| 亚洲一区二区中文在线| 五月婷婷久久丁香| 久久成人综合网| 国产成人综合亚洲网站| 99精品1区2区| 欧美日韩国产高清一区| 日韩精品在线网站| 欧美激情一区二区在线| 天天做天天摸天天爽国产一区| 日日摸夜夜添夜夜添精品视频| 蜜臀91精品一区二区三区| 激情综合色综合久久| 国产99久久久久| 欧洲一区在线观看| 欧美xxxx老人做受| 亚洲欧洲av色图| 偷拍日韩校园综合在线| 国产精品中文有码| 波多野结衣中文一区| 精品视频在线视频| 久久久亚洲精品一区二区三区 | 欧美精品一区在线观看| 国产精品灌醉下药二区| 午夜精品国产更新| 国产精品亚洲一区二区三区在线| 色综合一个色综合| 欧美一区二区成人6969| 国产精品美女久久久久久2018 | 亚洲天堂精品视频| 日本亚洲三级在线| kk眼镜猥琐国模调教系列一区二区| 欧美日韩一区二区三区高清 | 99国产精品一区| 日韩免费看的电影| 亚洲精品欧美专区| 国产一区二区h| 欧美日韩一区小说| 欧美极品aⅴ影院| 欧美a级一区二区| 91麻豆国产香蕉久久精品| 欧美成人在线直播| 亚洲综合久久av| 国产91丝袜在线18| 精品久久人人做人人爰| 亚洲高清免费观看高清完整版在线观看| 国产美女视频一区| 欧美一三区三区四区免费在线看| 亚洲欧美综合网| 久久精品国产精品亚洲红杏| 91福利国产成人精品照片| www国产精品av| 免费在线欧美视频| 欧美综合在线视频| 亚洲视频免费在线观看| 国产自产高清不卡| 91精品国产91久久久久久最新毛片 | 国产精品女主播av| 极品美女销魂一区二区三区| 欧美久久久久免费| 亚洲精品videosex极品| 成人黄色片在线观看| 久久久影视传媒| 激情综合一区二区三区| 欧美一级免费观看| 婷婷综合另类小说色区| 在线日韩一区二区| 亚洲欧美另类久久久精品| 成人福利视频在线| 国产欧美一区二区精品性色超碰| 精品一区二区日韩| 日韩精品一区二区三区蜜臀| 天天色天天操综合| 欧美亚洲免费在线一区| 亚洲美女在线一区| 色94色欧美sute亚洲13| 亚洲精品视频免费观看| 色噜噜狠狠成人网p站| 亚洲美女精品一区| 99精品久久99久久久久| 中文字幕日韩一区二区| av激情亚洲男人天堂| 中文字幕一区二区三中文字幕| 丰满亚洲少妇av| 欧美极品aⅴ影院| 99久久夜色精品国产网站| 国产精品成人一区二区三区夜夜夜 | 97久久久精品综合88久久| 国产女同性恋一区二区| 国产精品69久久久久水密桃| 国产亚洲一二三区| 国产91精品在线观看| √…a在线天堂一区| 色视频成人在线观看免| 亚洲精品高清视频在线观看| 欧美优质美女网站| 天天影视色香欲综合网老头| 日韩亚洲欧美成人一区| 成人午夜av影视| 亚洲六月丁香色婷婷综合久久 | 久久综合九色综合欧美亚洲| 久久 天天综合| 国产精品三级电影| 97久久人人超碰| 性久久久久久久| 久久久久久免费网| 91免费版pro下载短视频| 一区二区三区免费观看| 欧美美女一区二区在线观看| 久久精品国产亚洲一区二区三区 | 国产精品久久久久一区二区三区共| 99久久99久久精品国产片果冻 | 免费人成网站在线观看欧美高清| 精品国产91洋老外米糕| 97精品电影院| 日韩精品一二三区| 日本一区二区三区在线观看|