using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Afis_4x7seg_i { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string txt, val_af; int semaf, seg, poz_car, dig, dig0, dig1, dig2, dig3; int[,] car; static String[] Nume_porturi = new String[11]; private void Form1_Load(object sender, EventArgs e) { // Listez porturile seriale Nume_porturi = System.IO.Ports.SerialPort.GetPortNames(); this.Porturi_s.Items.Clear(); //Adaug porturile exixtente for (int i = 0; i < Nume_porturi.Length; i++) { this.Porturi_s.Items.Add(Nume_porturi[i]); } //Pozitionarea listei pe primul element this.Porturi_s.SelectedIndex = 0; this.label1.Text = "Conectati-va la portul serial!"; car = new int[12, 8]; // caracterul 0 car[0, 0] = 1; car[0, 1] = 0; car[0, 2] = 0; car[0, 3] = 0; car[0, 4] = 1; car[0, 5] = 0; car[0, 6] = 0; car[0, 7] = 0; // caracterul 1 car[1, 0] = 1; car[1, 1] = 1; car[1, 2] = 1; car[1, 3] = 0; car[1, 4] = 1; car[1, 5] = 0; car[1, 6] = 1; car[1, 7] = 1; // caracterul 2 car[2, 0] = 0; car[2, 1] = 1; car[2, 2] = 0; car[2, 3] = 0; car[2, 4] = 1; car[2, 5] = 1; car[2, 6] = 0; car[2, 7] = 0; // caracterul 3 car[3, 0] = 0; car[3, 1] = 1; car[3, 2] = 0; car[3, 3] = 0; car[3, 4] = 1; car[3, 5] = 0; car[3, 6] = 0; car[3, 7] = 1; // caracterul 4 car[4, 0] = 0; car[4, 1] = 0; car[4, 2] = 1; car[4, 3] = 0; car[4, 4] = 1; car[4, 5] = 0; car[4, 6] = 1; car[4, 7] = 1; // caracterul 5 car[5, 0] = 0; car[5, 1] = 0; car[5, 2] = 0; car[5, 3] = 1; car[5, 4] = 1; car[5, 5] = 0; car[5, 6] = 0; car[5, 7] = 1; // caracterul 6 car[6, 0] = 0; car[6, 1] = 0; car[6, 2] = 0; car[6, 3] = 1; car[6, 4] = 1; car[6, 5] = 0; car[6, 6] = 0; car[6, 7] = 0; // caracterul 7 car[7, 0] = 1; car[7, 1] = 1; car[7, 2] = 0; car[7, 3] = 0; car[7, 4] = 1; car[7, 5] = 0; car[7, 6] = 1; car[7, 7] = 1; // caracterul 8 car[8, 0] = 0; car[8, 1] = 0; car[8, 2] = 0; car[8, 3] = 0; car[8, 4] = 1; car[8, 5] = 0; car[8, 6] = 0; car[8, 7] = 0; // caracterul 9 car[9, 0] = 0; car[9, 1] = 0; car[9, 2] = 0; car[9, 3] = 0; car[9, 4] = 1; car[9, 5] = 0; car[9, 6] = 0; car[9, 7] = 1; // caracterul null car[10, 0] = 1; car[10, 1] = 1; car[10, 2] = 1; car[10, 3] = 1; car[10, 4] = 1; car[10, 5] = 1; car[10, 6] = 1; car[10, 7] = 1; // caracterul full car[11, 0] = 0; car[11, 1] = 0; car[11, 2] = 0; car[11, 3] = 0; car[11, 4] = 0; car[11, 5] = 0; car[11, 6] = 0; car[11, 7] = 0; //if (!this.serialPort1.IsOpen) //this.serialPort1.Open(); this.timer1.Interval = System.Convert.ToInt16(this.trackBar1.Value); this.label2.Text = "Temporizare in microsecunde : " + this.timer1.Interval.ToString(); } private void timer1_Tick(object sender, EventArgs e) { if (this.serialPort1.IsOpen) { if (semaf == 0) { val_af = "O" + (((car[dig, seg]) * 2) + 1).ToString(); semaf = 1; seg++; this.label5.Text = "Segment: " + seg.ToString(); if (seg == 8) { seg = 0; if (poz_car == 0) { dig = dig0; } if (poz_car == 1) { dig = dig1; } if (poz_car == 2) { dig = dig2; } if (poz_car == 3) { dig = dig3; } if (poz_car == 4) { this.timer1.Enabled = false; poz_car = 0; dig = dig0; } poz_car++; } } else { val_af = "O," + ((car[dig, seg]) * 2).ToString(); semaf = 0; } this.label4.Text = "Digit " + (poz_car - 1).ToString() + "=" + dig.ToString(); this.serialPort1.Write(val_af); this.label3.Text = "Tx=" + val_af; //txt = ""; txt = this.serialPort1.ReadExisting(); this.label1.Text = "Rx=" + txt; if (txt.Length > 0) { //val = System.Convert.ToInt16(txt); } } } private void trackBar1_Scroll(object sender, EventArgs e) { this.timer1.Interval = System.Convert.ToInt16(this.trackBar1.Value); this.label2.Text = "Temporizare in microsecunde : " + this.timer1.Interval.ToString(); } private void button1_Click(object sender, EventArgs e) { dig = System.Convert.ToInt16(this.numericUpDown1.Value); dig0 = dig % 10; dig1 = (dig / 10) % 10; dig2 = (dig / 100) % 10; dig3 = (dig / 1000) % 10; dig = dig0; this.timer1.Enabled = true; } private void button2_Click(object sender, EventArgs e) { dig = 10; dig0 = 10; dig1 = 10; dig2 = 10; dig3 = 10; this.timer1.Enabled = true; } private void button3_Click(object sender, EventArgs e) { dig = 11; dig0 = 11; dig1 = 11; dig2 = 11; dig3 = 11; this.timer1.Enabled = true; } private void but_con_Click(object sender, EventArgs e) { if (!this.serialPort1.IsOpen) { this.serialPort1.PortName = System.Convert.ToString(this.Porturi_s.Items[this.Porturi_s.SelectedIndex]); this.serialPort1.Open(); this.label1.Text = "Portul a fost deschis"; } else { this.label1.Text = "Portul este deja deschis deschis"; } this.serialPort1.Write("AA"); } private void but_dec_Click(object sender, EventArgs e) { this.serialPort1.Close(); this.label1.Text = "Portul este deconectat!"; } } }