elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Detectar tramas de bytes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Detectar tramas de bytes  (Leído 2,708 veces)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Detectar tramas de bytes
« en: 15 Noviembre 2023, 20:53 pm »

Hola:

Teniendo esta entrada de bytes por el puerto serie:
#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À

O otra trama de byte diferente como este:
#2000,1400,230,45.0,55.0,8.6

Si se fijan, cada trama de bytes empieza por #.

Haciendo pruebas dando las gracias a los compañeros de este foro, quiero saber si a la entrada de datos es capaz de detectar cada trama de byte recibida se muestre correctamente en sus label como indica abajo.


Ver zoom.

Su código es este:
Código
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace Termite_SAI_03
  5. {
  6.    public partial class Form1 : Form
  7.    {
  8.        public Form1()
  9.        {
  10.            InitializeComponent();
  11.        }
  12.  
  13.        private void button_Ver_datos_Click(object sender, EventArgs e)
  14.        {
  15.            string entrada = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À";
  16.  
  17.            char[] separadores = { '#', 'I', 'O', 'L', 'B', 'V', 'F', 'H', 'R', 'S' };
  18.  
  19.            string[] salida = entrada.Split(separadores, StringSplitOptions.RemoveEmptyEntries);
  20.  
  21.            label_I.Text = salida[0] + " V";
  22.            label_O.Text = salida[1] + " V";
  23.            label_L.Text = salida[2].TrimStart('0') + " %"; // Quita los ceros de la izquierda.
  24.            label_B.Text = salida[3] + " %";
  25.            label_V.Text = salida[4] + " V";
  26.            label_F.Text = salida[5] + " Hz";
  27.            label_H.Text = salida[6] + " Hz";
  28.  
  29.            // Convertir variable tipo string a tipo int, es decir, la variable tipo string "salida[7]"
  30.            // se convierte en tipo int "resultadoSalida7".
  31.            int resultadoSalida7 = Int32.Parse(salida[7]);
  32.  
  33.            // ¿Es igual a 1 minuto?
  34.            if ((resultadoSalida7 % 60) == 1)
  35.            {
  36.                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minuto.";
  37.            }
  38.  
  39.            // ¿Es mayor a 60 segundos o 1 minuto?
  40.            if ((resultadoSalida7 % 60) > 1)
  41.            {
  42.                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minutos.";
  43.            }
  44.  
  45.            // ¿Es igual a 60 segundos o 1 minuto?
  46.            if ((resultadoSalida7 % 60) == 0)
  47.            {
  48.                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minutos.";
  49.            }
  50.        }
  51.  
  52.        private void button_Ver_Tabla_Click(object sender, EventArgs e)
  53.        {
  54.            string entrada2 = "#2000,1400,230,45.0,55.0,8.6";
  55.  
  56.            char[] separadores2 = { '#', ',' };
  57.  
  58.            string[] salida2 = entrada2.Split(separadores2, StringSplitOptions.RemoveEmptyEntries);
  59.  
  60.            label_Resultado_valores_nonimales_de_alimentacion.Text = salida2[0] + " VA / " + salida2[1] + " W";
  61.            label_Resultado_voltaje_nominal.Text = salida2[2] + " V";
  62.            label_Resultado_corriente_nominal.Text = salida2[5] + " A";
  63.            label_Resultado_valores_nominales_de_frecuencia.Text = salida2[3] + " ~ " + salida2[4] + " Hz";
  64.        }
  65.    }
  66. }
  67.  
Por ahora no te tocado nada del puerto serie, solo muestro con botones de prueba a la hora de recibir datos y mostrar su información en Windows Form.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cifrar tramas de bytes
.NET (C#, VB.NET, ASP)
Meta 1 3,587 Último mensaje 20 Mayo 2009, 21:40 pm
por MazarD
Duda: Capturador de tramas
Seguridad
macetilla 0 2,216 Último mensaje 6 Julio 2010, 12:59 pm
por macetilla
Tramas de videojuegos. « 1 2 »
Foro Libre
Draklit 16 7,468 Último mensaje 9 Noviembre 2010, 00:38 am
por dantemc
Enviar tramas de bytes en C++/CLR
.NET (C#, VB.NET, ASP)
Meta 1 2,099 Último mensaje 15 Febrero 2016, 22:47 pm
por Meta
Convertir Cadena Hex a Bytes y compararlos Con Bytes de un archivo
.NET (C#, VB.NET, ASP)
**Aincrad** 3 3,170 Último mensaje 14 Octubre 2018, 00:52 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines