Re: Pruebas de chronopic y puerto serie en mono
- From: xavier de Blas <xavi xdeblas com>
- To: "For Chronojump developers (english, spanish)" <chronojump-devel-list gnome org>
- Subject: Re: Pruebas de chronopic y puerto serie en mono
- Date: Thu, 26 Jan 2006 16:05:12 +0100
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]