Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.01 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.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO.Ports;
  11. using System.Threading;
  12. using System.Windows.Threading;
  13.  
  14.  
  15. namespace PWSW
  16. {
  17.     public partial class Form1 : Form
  18.     {
  19.  
  20.  
  21.  
  22.         public Form1()
  23.         {
  24.             InitializeComponent();
  25.  
  26.             serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  27.  
  28.  
  29.  
  30.         }
  31.  
  32.         private void label2_Click(object sender, EventArgs e)
  33.         {
  34.  
  35.         }
  36.  
  37.         private void Form1_Load(object sender, EventArgs e)
  38.         {
  39.  
  40.              serialPort1.ReadTimeout = 500;
  41.             serialPort1.WriteTimeout = 500;
  42.             comport.Items.AddRange(SerialPort.GetPortNames());
  43.             comport.Sorted = true;
  44.  
  45.             comport.SelectedIndex = 0;
  46.  
  47.  
  48.             comport.Enabled = true;
  49.  
  50.             btn_wyslij.Enabled = false;
  51.             btn_otworz.Enabled = true;
  52.             btn_zamknij.Enabled = false;
  53.            // tekst_wyslij.Enabled = false;
  54.         }
  55.         private void btn_wyslij_Click(object sender, EventArgs e)
  56.         {
  57.  
  58.  
  59.         }
  60.         private void btn_rozlacz_Click(object sender, EventArgs e)
  61.         {
  62.             try
  63.             {
  64.                 serialPort1.Close();
  65.  
  66.                 this.Invoke(new Action(() => tekst_odbierz.Text = "Rozlaczono"));
  67.                 Thread.Sleep(10);
  68.                 comport.Enabled = true;
  69.  
  70.                 btn_wyslij.Enabled = false;
  71.                 btn_otworz.Enabled = true;
  72.                 btn_zamknij.Enabled = false;
  73.             }
  74.             catch
  75.             {
  76.                 this.Invoke(new Action(() => tekst_odbierz.Text += "Podczas rozlaczania wystapil blad"));
  77.                 Thread.Sleep(10);
  78.             }
  79.  
  80.         }
  81.  
  82.         //przy resecie zmienia sie tryb z phy na dl
  83.  
  84.         private void btn_polacz_Click(object sender, EventArgs e)
  85.         {
  86.             try
  87.             {
  88.                 serialPort1.PortName = comport.Text;
  89.                 serialPort1.BaudRate = 57600;
  90.                 serialPort1.Parity = Parity.None;
  91.                 serialPort1.DataBits = 8;
  92.                 serialPort1.StopBits = StopBits.One;
  93.  
  94.                 serialPort1.Open();
  95.  
  96.                 this.Invoke(new Action(() => tekst_odbierz.Text += "Połączono z portem " + serialPort1.PortName));
  97.                 Thread.Sleep(10);
  98.                 comport.Enabled = false;
  99.  
  100.                 btn_wyslij.Enabled = true;
  101.                 btn_otworz.Enabled = false;
  102.                 btn_zamknij.Enabled = true;
  103.             }
  104.             catch
  105.             {
  106.                 this.Invoke(new Action(() => tekst_odbierz.Text += "Błąd połączenia \n\r"));
  107.                 Thread.Sleep(10);
  108.             }
  109.         }
  110.  
  111.  
  112.         private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  113.         {
  114.  
  115.            
  116.             if (serialPort1.IsOpen)
  117.             {
  118.                 serialPort1.Close();
  119.             }
  120.         }
  121.  
  122.         private void btn_wyslij_Click_1(object sender, EventArgs e)
  123.         {
  124.  
  125.             //  serialPort1.Write(tekst_wyslij.Text.ToString());
  126.  
  127.             if (serialPort1.IsOpen)
  128.             {
  129.                 serialPort1.RtsEnable = true;
  130.                 Thread.Sleep(1000);
  131.  
  132.  
  133.                 if (comboBox_wybor.SelectedIndex == 0)
  134.                 {
  135.                     this.Invoke(new Action(() => tekst_odbierz.AppendText("reset urzadzenia")));
  136.                     Thread.Sleep(10);
  137.                     byte[] reset = new byte[] { 0x02, 0x00, 0x3C, 0x3C, 0x00 };
  138.                     try
  139.                     {
  140.                         if (serialPort1.IsOpen)
  141.                         {
  142.                             serialPort1.RtsEnable = true;
  143.                             Thread.Sleep(10);
  144.                             serialPort1.Write(reset, 0, reset.Length);
  145.                             serialPort1.RtsEnable = false;
  146.  
  147.                         }
  148.                     }
  149.                     catch
  150.                     {
  151.  
  152.                     }
  153.  
  154.                 }
  155.  
  156.  
  157.  
  158.             }
  159.         }
  160.  
  161.      
  162.  
  163.         private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  164.         {
  165.             SerialPort sp = (SerialPort)sender;
  166.             string dane = sp.ReadExisting();
  167.             this.Invoke(new Action(() => tekst_odbierz.AppendText("Otrzymane dane")));
  168.             Thread.Sleep(10);
  169.             this.Invoke(new Action(() => tekst_odbierz.AppendText(dane)));
  170.             Thread.Sleep(10);
  171.         }
  172.  
  173.         private void ComboBox_wybor(object sender, ListViewItemSelectionChangedEventArgs E)
  174.         {
  175.             //if (comboBox_wybor.SelectedIndex == 1 | comboBox_wybor.SelectedIndex == 2) tekst_wyslij.Enabled = true;
  176.            // else tekst_wyslij.Enabled = false;
  177.         }
  178.  
  179.         private void tekst_odbierz_TextChanged(object sender, EventArgs e)
  180.         {
  181.  
  182.         }
  183.     }
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement