Re: Pruebas de chronopic y puerto serie en mono



Hola

El programa funciona perfectamente en Linux en estas situaciones:
- vía puerto serie
- vía puerto serie con cable convertidor desde USB (probado con 2 cables
distintos)
- (suponemos que también desde pcmcia-serie)

No funciona en Windows en el estado actual de Mono. Esperemos que mono
implemente pronto el código de puerto serie de .NET 2.0 para windows.

De momento tanto Chronojump, como Chronojump-mini van a basarse en el
nuevo código, así se pierde la dependencia con la librería .so y por
tanto el código de lectura es único y (en breve) multiplataforma.

Gracias Juan


On dt, 2006-01-24 at 22:37 +0100, Juan González wrote:
> Hola,
> 
>   Mando aquí a la lista el programa ChronopicTest.cs, que sirve para
> hacer pruebas de Chronopic desde mono, sin usar la libreria .so:
> 
> using System;
> using System.IO.Ports;
> 
> public class ChronopicTest
> {
>   static SerialPort sp;
> 
> 	public static void Main(string[] args)
> 	{ 
>     bool ok;
>     //-- Crear puerto serie.
>     //-- El nombre de dispositivo es diferente segun
>     //-- si se trata de Linux o Windows
>     sp = new SerialPort("/dev/ttyUSB0", 9600);
> 		
>     //-- Abrir puerto serie
>     sp.Open();
>     
>     //-- Configurar Timeout
>     sp.ReadTimeout = 400;
>     
>     for (;;) {
>       ok=Leer_Chronopic();
>       if (ok) Console.WriteLine("TRAMA OK");
>       else Console.WriteLine("Timeout!");
>     }
> 	}
>   
>   public static bool Leer_Chronopic()
>   {
>     //-- Trama de respuesta
>     byte[] respuesta = new byte[4];
>     
>     //-- Esperar hasta recibir una trama completa
>     int count=0;
>     int n;
>     do {
>       n = sp.Read(respuesta,count,4-count);
>       count+=n;
>     } while (count<4 && n!=-1);
>     
>     //-- Si hay error o timeout devolver false
>     if (n==-1) return false;
>     
>     //-- La trama debe comenzar con 'X', sino
>     //-- no es correcta
>     if (respuesta[0]!=(byte)'X') return false;
>     
>     return true;
>   }
> 
> }
> 
> 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]