單片機通過udp方式每1s發送32個位元組給上位機,現已實作接收資料。請問該如何用delphi實作將接收的資料放到一個陣列中,從而我可以對每個位元組進行操作,就像STM32里面的定義u8 data[32],然后data[0]我可以賦值給變數。。。
如下是udp聊天demo,單片機每次發過來的數直接變成了問號。如何將接收的adata放到我定義的32個位元組長度的陣列里面去呢?求大神指點。謝謝了!
function IdBytesToAnsiString(ParamBytes: TIdBytes): AnsiString;
var
i: Integer;
S: AnsiString;
begin
S := '';
for i := 0 to Length(ParamBytes) - 1 do
begin
S := S + AnsiChar(ParamBytes[i]);
end;
Result := S;
end;
///////////////////////////////////////////////////////////////////////////////////////////
procedure TForm1.btnconnectClick(Sender: TObject);
begin
idpsrvr1.DefaultPort:=8089;
idpsrvr1.Active := True;
btnconnect.Enabled:=False;
btndisconnect.Enabled:=True;
end;
///////////////////////////////////////////////////////////////////////////////////////////
procedure TForm1.idpsrvr1UDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
mmo1.Lines.Add(IdBytesToAnsiString(AData));
end;
///////////////////////////////////////////////////////////////////////////////////////////
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59118.html
標籤:網絡通信/分布式開發
上一篇:xe10 部署程式到IOS 虛擬機上報 session ended
下一篇:delphi 異或校驗的問題
