Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO.Ports;
  10. using System.Diagnostics;
  11.  
  12. namespace DPFCleaner
  13. {
  14.     public partial class MainForm : Form
  15.     {
  16.  
  17.         SerialPort sp = new SerialPort();
  18.         string selectedPort;
  19.        
  20.  
  21.         public MainForm()
  22.         {
  23.             InitializeComponent();
  24.             sp.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  25.         }
  26.  
  27.         private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  28.         {
  29.             SerialPort sp1 = (SerialPort)sender;
  30.             string indata = sp1.ReadExisting();
  31.             //displayToWindow(indata);
  32.             Debug.Write(indata);
  33.             Console.Write(indata);
  34.             lbReceived.Items.Add(indata);
  35.         }
  36.  
  37.         private void displayToWindow(string inData)
  38.         {
  39.             BeginInvoke(new EventHandler(delegate
  40.             {
  41.                 Console.Write(inData);
  42.             }));
  43.         }
  44.  
  45.         private void exitButton_Click(object sender, EventArgs e)
  46.         {
  47.             this.Close();
  48.         }
  49.  
  50.         private void searchPortsButton_Click(object sender, EventArgs e)
  51.         {
  52.             string[] ports = SerialPort.GetPortNames();
  53.  
  54.             for(int i = 0; i < ports.Length; i++)
  55.             {
  56.                 lbPorts.Items.Add(ports[i]);
  57.             }
  58.         }
  59.  
  60.         private void lbPorts_SelectedIndexChanged(object sender, EventArgs e)
  61.         {
  62.             selectedPort = lbPorts.SelectedItem.ToString();
  63.             lSelectedPort.Text = selectedPort;
  64.         }
  65.  
  66.         private void btOpenPort_Click(object sender, EventArgs e)
  67.         {
  68.             if (selectedPort != null)
  69.             {
  70.                 sp = new SerialPort(selectedPort, 38400);
  71.                 if (!sp.IsOpen)
  72.                 {
  73.                     try
  74.                     {
  75.                         sp.Open();
  76.                         lPortStatus.Text = "Port Otworzono";
  77.                     }
  78.                     catch (Exception ex)
  79.                     {
  80.                         Debug.WriteLine(ex);
  81.                     }
  82.                 }
  83.                 else
  84.                 {
  85.                     lPortStatus.Text = "Port jest już otwarty";
  86.                 }
  87.             }
  88.             else
  89.             {
  90.                 lSelectedPort.Text = "Nie wybrano portu!";
  91.             }
  92.  
  93.         }
  94.  
  95.         private void btClosePort_Click(object sender, EventArgs e)
  96.         {
  97.             if (sp != null) sp.Dispose();
  98.  
  99.             if (sp.IsOpen)
  100.             {
  101.                 try
  102.                 {
  103.                     sp.Close();
  104.                     lPortStatus.Text = "Port zamknięto";
  105.                 }
  106.                 catch(Exception ex)
  107.                 {
  108.                     Debug.WriteLine(ex);
  109.                 }
  110.             }
  111.             else
  112.             {
  113.                 lPortStatus.Text = "Port jest już zamknięty";
  114.             }
  115.         }
  116.  
  117.         private void btSerialSend_Click(object sender, EventArgs e)
  118.         {
  119.             if (sp.IsOpen)
  120.             {
  121.                 try
  122.                 {
  123.                     sp.Write("test123");
  124.                 }
  125.                 catch(Exception ex)
  126.                 {
  127.                     lPortStatus.Text = ex.ToString();
  128.                 }
  129.             }
  130.             else
  131.             {
  132.                 lPortStatus.Text = "Port nie otwarty, nie mozna wyslac";
  133.             }
  134.         }
  135.  
  136.         private void MainForm_Load(object sender, EventArgs e)
  137.         {
  138.            
  139.             sp.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  140.         }
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement