Quiero saber que al entrar datos por el puerto serie me cuente los byte recibidos y los alacene en un array tipo byte[]
¿Alguna idea?
El programa sin acabar que tengo hecho por ahora es este.
Código
using System; using System.IO; using System.IO.Ports; using System.Text; namespace Recibir_archivo_desde_Arduino_consola { class Program { public static string Recibidos = ""; //public static byte[] datosArray = Encoding.ASCII.GetBytes(Recibidos); public static byte[] datosArray = Encoding.ASCII.GetBytes(Recibidos); static void Main(string[] args) { string COM = ""; // Tamaño ventana consola. Console.WindowWidth = 55; // X. Ancho. Console.WindowHeight = 15; // Y. Alto. Console.Title = "Recoger foto desde Arduino y crearlo en el disco duro"; // Título de la ventana. // Crear un nuevo objeto SerialPort con la configuración predeterminada. // Configuración. Console.Write(@" Introduzca un número para seleccionar puerto COM. Por ejemplo el 4, sería COM4. Puerto: "); COM = Console.ReadLine(); // Escribir el número del puerto. Console.Clear(); Puerto_serie.PortName = "COM" + COM; // 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; try { Puerto_serie.Open(); // Abrir el puerto serie. } catch (IOException) { Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo. Console.CursorVisible = false; Console.SetCursorPosition(16, 6); Console.WriteLine(@"El puerto " + Puerto_serie.PortName + @" no existe o no lo encuentra."); } Console.Read(); Puerto_serie.Close(); // Cerrar puerto. } private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; int ByteLeidos = sp.Read(datosArray, 0, 28256); Console.Write(ByteLeidos); } } }
El código no está bien.