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 { /// /// MainWindow.xaml 的交互逻辑 /// 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); } } }