整理了错误的捕捉
关闭窗口验证
This commit is contained in:
@@ -32,7 +32,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
{
|
||||
ContainerProvider = containerProvider;
|
||||
HighSpeedDataService = ContainerProvider.Resolve<HighSpeedDataService>();
|
||||
|
||||
LogService = ContainerProvider.Resolve<ILogService>();
|
||||
//Stopwatch.Frequency表示高精度计时器每秒的计数次数(ticks/秒)每毫秒的ticks数 = 每秒的ticks数 ÷ 1000
|
||||
TicksPerMs = Stopwatch.Frequency / 1000.0;
|
||||
}
|
||||
@@ -42,18 +42,27 @@ namespace CapMachine.Wpf.CanDrive
|
||||
/// </summary>
|
||||
public HighSpeedDataService HighSpeedDataService { get; set; }
|
||||
|
||||
public ILogService LogService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始CAN的驱动
|
||||
/// </summary>
|
||||
public void StartCanDrive()
|
||||
{
|
||||
IsExistsDllFile();
|
||||
ScanDevice();
|
||||
OpenDevice();
|
||||
GetDeviceInfo();
|
||||
GetCANConfig();
|
||||
InitCAN();
|
||||
|
||||
try
|
||||
{
|
||||
IsExistsDllFile();
|
||||
ScanDevice();
|
||||
OpenDevice();
|
||||
GetDeviceInfo();
|
||||
GetCANConfig();
|
||||
InitCAN();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogService.Error(ex.Message);
|
||||
System.Windows.MessageBox.Show($"{ex.Message}", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -473,8 +482,6 @@ namespace CapMachine.Wpf.CanDrive
|
||||
|
||||
private static readonly Random _random = new Random();
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 精确周期发送CAN数据
|
||||
/// </summary>
|
||||
@@ -608,6 +615,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogService.Error(ex.Message);
|
||||
Console.WriteLine($"CAN周期发送异常: {ex.Message}");
|
||||
// 短暂暂停避免异常情况下CPU占用过高
|
||||
await Task.Delay(10, token);
|
||||
@@ -618,7 +626,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
{
|
||||
// 确保在任何情况下(正常退出、异常、取消)都会停止计时器
|
||||
Stopwatcher.Stop();
|
||||
|
||||
LogService.Error(ex.Message);
|
||||
// 清理其他可能的资源
|
||||
Console.WriteLine("CAN周期发送任务已结束,资源已清理");
|
||||
}
|
||||
@@ -818,6 +826,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogService.Error(ex.Message);
|
||||
//LogService.Info($"时间:{DateTime.Now.ToString()}-【Meter】-{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user