From bc55470b84ecaa1e2f6397a3ec33f0c7192224c5 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 01 八月 2025 15:52:25 +0800
Subject: [PATCH] 修复整数数据解析逻辑:实现按字节读取高低字节交换组合

---
 UniversalModbusManager.cs |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/UniversalModbusManager.cs b/UniversalModbusManager.cs
index a57816f..ae6a7aa 100644
--- a/UniversalModbusManager.cs
+++ b/UniversalModbusManager.cs
@@ -363,13 +363,13 @@
             
             LogWarning($"灏嗗湪 {delay}ms 鍚庡皾璇曠 {_retryCount} 娆¢噸杩�");
 
-            Task.Delay(delay, _cancellationTokenSource.Token).ContinueWith(async _ =>
+            Task.Delay(delay, _cancellationTokenSource?.Token ?? CancellationToken.None).ContinueWith(async _ =>
             {
-                if (!_cancellationTokenSource.Token.IsCancellationRequested)
+                if (!(_cancellationTokenSource?.Token.IsCancellationRequested ?? true))
                 {
                     await ConnectAsync();
                 }
-            }, _cancellationTokenSource.Token);
+            }, _cancellationTokenSource?.Token ?? CancellationToken.None);
         }
 
         #endregion
@@ -676,7 +676,7 @@
             // 妫�娴嬪父瑙佺殑閿欒鐮佹ā寮�
             if (registers.Length >= 2)
             {
-                var combined = ((long)(registers[0] & 0xFFFF) << 16) | (registers[1] & 0xFFFF);
+                var combined = ((long)((uint)registers[0] & 0xFFFF) << 16) | ((uint)registers[1] & 0xFFFF);
                 if (combined == 0xE2400001)
                 {
                     LogInfo($"[PATTERN] 瀛楁 '{fieldName}' 妫�娴嬪埌宸茬煡鐨勬棤鏁堟暟鎹爣璇� 0xE2400001");
@@ -739,7 +739,7 @@
         /// <summary>
         /// 澶勭悊杩炴帴涓㈠け
         /// </summary>
-        private async Task HandleConnectionLoss()
+        private Task HandleConnectionLoss()
         {
             if (_isConnected)
             {
@@ -754,6 +754,8 @@
                     ScheduleReconnect();
                 }
             }
+            
+            return Task.CompletedTask;
         }
 
         #endregion

--
Gitblit v1.9.3