Files

162 lines
3.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WPFSerialAssistant
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
InitCore();
}
// 单次锁存 可以通过单次锁存,读取当前的位置值
private void SingleLatch_Checked(object sender, RoutedEventArgs e)
{
//1 清空缓存
string cmd = "01 06";
SerialPortWrite(cmd);
Utilities.sleep(5);
//2 设置单次模式
cmd = "01 01 01";
SerialPortWrite(cmd);
Utilities.sleep(5);
//3 开始锁存
cmd = "01 02";
SerialPortWrite(cmd);
Utilities.sleep(5);
//4 读取锁存值
cmd = "01 09";
SerialPortWrite(cmd);
Utilities.sleep(5);
}
//定时锁存 每10ms(1000*10us),即100HZ,锁存一次位置的值,发一个脉冲
private void TimingLatches_Checked(object sender, RoutedEventArgs e)
{
//1 清空缓存
string cmd = "01 06";
SerialPortWrite(cmd);
Utilities.sleep(5);
//2 设置定时模式
cmd = "01 01 02 03 e8";
SerialPortWrite(cmd);
Utilities.sleep(5);
//3 开始锁存
cmd = "01 02";
SerialPortWrite(cmd);
Utilities.sleep(5);
//4 停止锁存
cmd = "01 03";
SerialPortWrite(cmd);
Utilities.sleep(5);
//5 读取锁存值
cmd = "01 09";
SerialPortWrite(cmd);
Utilities.sleep(5);
//6 清空数据与flash
cmd = "01 04";
SerialPortWrite(cmd);
Utilities.sleep(5);
}
//分频锁存 以X轴为基准,每20个脉冲锁存一次,并发送一次脉冲
private void FreDivsionRadioButton_Checked(object sender, RoutedEventArgs e)
{
//1 清空缓存
string cmd = "01 06";
SerialPortWrite(cmd);
Utilities.sleep(5);
//2 设置定时模式
cmd = "01 01 03 00 00 14 01";
SerialPortWrite(cmd);
Utilities.sleep(5);
//3 开始锁存
cmd = "01 02";
SerialPortWrite(cmd);
Utilities.sleep(5);
//4 停止锁存
cmd = "01 03";
SerialPortWrite(cmd);
Utilities.sleep(5);
//5 读取锁存值
cmd = "01 09";
SerialPortWrite(cmd);
Utilities.sleep(5);
//6 清空数据与flash
cmd = "01 04";
SerialPortWrite(cmd);
Utilities.sleep(5);
}
//获取固件版本
private void GetVersionButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 08";
SerialPortWrite(cmd);
}
//设置归零,表示XYZ轴的清零,把当前的位置读数重置为0.
private void SetZeroButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 06";
SerialPortWrite(cmd);
}
//开始锁存
private void StartRecordButtion_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 02";
SerialPortWrite(cmd);
}
//停止锁存
private void StopRecordButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 03";
SerialPortWrite(cmd);
}
//获取锁存值
private void GetRecordButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 09";
SerialPortWrite(cmd);
}
//清除Flash区
private void ClearFlashButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 04";
SerialPortWrite(cmd);
}
//获得锁存点数量
private void GetPointsButton_Click(object sender, RoutedEventArgs e)
{
string cmd = "01 05";
SerialPortWrite(cmd);
}
}
}