public async Task StartI2C() { string strdata = ""; byte[] data = new byte[20]; await Task.Run(async() => { while (true) { data = await GetDataByte(); strdata = Encoding.Default.GetString(data); OnReciveHander?.Invoke(this, strdata); Debug.WriteLine(strdata); await Task.Delay(TimeSpan.FromSeconds(1)); } }); }
private void OnRecive(IAsyncResult result) { try { if (Socket != null) { var endpoint = new IPEndPoint(IPAddress.Any, 0); var receiveBytes = Socket?.EndReceive(result, ref endpoint); if (receiveBytes != null && receiveBytes.Length > 0) { ReciveHandler?.Invoke(receiveBytes, receiveBytes.Length, endpoint); } StartRecive(); } } catch (ObjectDisposedException e) { //ok } catch (Exception e) { Logger.Error(e); } }