C sharp - lectura de Puerto Serial

 
Vista:

lectura de Puerto Serial

Publicado por Victor Manuel (1 intervención) el 05/12/2019 19:31:14
Hola Comunidad, no manejo CSharp ya que trabajo con otras herramientas pero estoy implementando un sistema que lee un scanner desde un puerto serial y para ejecutar ciertas actividades con esa información, esto funciona, sin embargo, mientras mas información presento en pantalla se vuelve mas lento el proceso. Entiendo que el problema podría estar en el manejo del EventHandler. Escuche por ahi de una característica de función Delegate, pero no entiendo estos conceptos y como incluirlos.

Estas son las definiciones que uso :

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
// Declaracion para modelo de lectura Eventos
CSHARP mySerialPort = new System.IO.Ports.SerialPort( [!&EstacionP1Nom!], [!&EstacionP1BitSeg!], 0, [!&EstacionP1BitDat!]);
 
//Manejo de Handler de eventos
CSHARP mySerialPort.DataReceived += new static System.IO.Ports.SerialPort mySerialPort;
 
static void main()
{
	 mySerialPort = new System.IO.Ports.SerialPort( "COM1", '9600', 0);
 
	 mySerialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(mySerialPort_DataReceived);
	 try
	 {
	    mySerialPort.Open();
		/* 'Puerto Abierto Esperando Scanner'*/
	 }
	 catch (System.IO.IOException ex)
	 {
	   System.Console.WriteLine(ex);
	 }
 
}
 
public void mySerialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
	try
	 {
		/*																*/
	    /* aqui van programas de control y visualización en pantalla    */
		/*																*/
	     }
		 catch (System.IO.IOException ex)  // Excepcion de apertura
		 {
			System.Console.WriteLine(ex);
		 }
	}
}

Agradezco desde ya su ayuda.
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

lectura de Puerto Serial

Publicado por miguelZ (72 intervenciones) el 05/12/2019 22:35:11
Pues no debes declarar tu puerto como estatico, asi el colector de memoria no puede eliminar los datos
que ya no uses, o despues de leer tus datos elimina tu metodo delegado y crea uno nuevo.


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar