C sharp - Recibir datos puerto serio modo consola

   
Vista:

Recibir datos puerto serio modo consola

Publicado por Meta (14 intervenciones) el 12/12/2015 09:15:19
Hola:

Antes que nada, ya que es modo consola, lo pongo en español bien español.

Enviar datos:

1. Configuración del puerto serie.

2. Abrir puerto.

3. La consola espera que introduza datos.

4. Al introducir datos, lo guarda en una variable string, da igual lo que escribas, letras, números o símbolos.

5. Si pulsas Enter envía datos al puerto serie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
using System.IO.Ports; // No olvidar.
using System.Threading;
 
namespace Puerto_serie_consola_CS
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Puerto serie C#";
 
            string Enviar_datos = "";
 
            SerialPort Puerto_serie;
 
            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
            Puerto_serie = new SerialPort();
 
            // Configuración.
            Puerto_serie.PortName = "COM4"; // Número del puerto serie.
            Puerto_serie.BaudRate = 115200; // Baudios.
            Puerto_serie.Parity = Parity.None; // Paridad.
            Puerto_serie.DataBits = 8; // Bits de datos.
            Puerto_serie.StopBits = StopBits.Two; // Bits de parada.
            Puerto_serie.Handshake = Handshake.None; // Control de flujo.
 
            // Establecer la lectura / escritura de los tiempos de espera.
            Puerto_serie.ReadTimeout = 500;
            Puerto_serie.WriteTimeout = 500;
 
            while (true)
            {
                Console.WriteLine("Introduce comandos:"); // Muestra texto en pantalla.
                Enviar_datos = Console.ReadLine(); // Almacena los datos introducidos en consola a la variable.
 
 
                        Puerto_serie.Open(); // Abrir puerto serie.
                        byte[] miBuffer = Encoding.ASCII.GetBytes(Enviar_datos); // Guarda un array los datos y codificado en ASCII.
                        Puerto_serie.Write(miBuffer, 0, miBuffer.Length); // Envía al puerto el array almacenado del buffer.
                        Console.WriteLine(); // Salto de línea.
 
                        //Puerto_serie.Write(Enviar_datos); // Con solo esta línea también vale pero no está codificado.
 
                        Puerto_serie.Close(); // Cerrar puerto serie.
            }
        }
    }
}

Recibir datos:

1. La Consola está en espera de recibir algún dato.

2. Lo guarda en una variable string.

3. La Consola muestra en pantalla los datos recibidos.

4. Si cierra la consola o palicación, cierra el puerto.

Antes que nada, parece ser que siempre abro y cierro el puerto todo el rato. Esto habrá que modiciarlo al final.

¿Cómo hago para recibir datos?

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder