Foros del Web » Programación para mayores de 30 ;) » Java »

giovynet poner filtro por si no recivo nada por COM

Estas en el tema de giovynet poner filtro por si no recivo nada por COM en el foro de Java en Foros del Web. hola!, Pues eso tengo la siguiente clase de giovynet y va todo bien.. pero no sé como hacer-lo , una vez voy a leer del ...
  #1 (permalink)  
Antiguo 15/06/2011, 06:15
 
Fecha de Ingreso: junio-2010
Mensajes: 353
Antigüedad: 13 años, 10 meses
Puntos: 6
giovynet poner filtro por si no recivo nada por COM

hola!,

Pues eso tengo la siguiente clase de giovynet y va todo bien.. pero no sé como hacer-lo , una vez voy a leer del puerto "sino hay nada" que me mande un mensaje diciendo "no hay datos!" o no lea directamente. He provado con comException pero da el mismo error :S

Código Javascript:
Ver original
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package ProjecteSintesi.Model;
  6.  
  7. import ProjecteSintesi.Vista.Excepcions.NoFreePorts;
  8. import giovynet.serial.Baud;
  9. import giovynet.serial.Com;
  10. import giovynet.serial.Parameters;
  11. import java.lang.reflect.Array;
  12.  
  13. /**
  14.  *
  15.  * @author Administrador
  16.  * Aquesta clase es la encarregada de la comunicació amb el port serie on estigui el aparell ZigBee
  17.  */
  18. public class Comunicacio {
  19.  
  20.     private String PortSerie;
  21.     private Com com;
  22.     private char  rebut[] = new char[6];
  23. /**
  24.  *
  25.  * @author Administrador
  26.  * Aqui es pot cambiar el port per on parlara amb el receptor ZigBee
  27.  */
  28.     public Comunicacio()throws Throwable  {
  29.         PortSerie = "COM4";
  30.         com=AbrirPuerto();
  31.     }
  32.  
  33.     public  Com AbrirPuerto() throws Throwable {
  34.         System.out.println("Abrete puerto");
  35.         try{Parameters Settings = new Parameters();
  36.         Settings.setPort(PortSerie);
  37.         Settings.setBaudRate(Baud._9600);
  38.  
  39.         com = new Com(Settings);
  40.         } catch (NoFreePorts error){
  41.           System.out.println(error);
  42.       }
  43.         return com;
  44.     }
  45.  
  46.  
  47.     public void EnviarSenyal(byte orden[]) throws Throwable {
  48.         // Enviu byte a byte del array donada
  49.         for (int i = 0; i < orden.length; i++) {
  50.             com.sendSingleData(orden[i]);
  51.             System.out.println(orden[i]);
  52.         }
  53.     }
  54.  
  55. /**
  56.  * Pregunta una de les següents coses;
  57.  * RMN => pregunta per l'increment
  58.  * RBN => pregunta per l'angle
  59.  * RSN => pregunta per els sensors
  60.  * RVN => Pregunta per el voltatge(batería)
  61.  * @param orden
  62.  * @throws Throwable
  63.  */
  64.  
  65.      public void Preguntar(byte orden[]) throws Throwable {
  66.         // Enviu byte a byte del array donada
  67.         for (int i = 0; i < orden.length; i++) {
  68.             com.sendSingleData(orden[i]);
  69.             System.out.println(orden[i]);
  70.         }
  71.     }
  72.      /**
  73.       * Retorna el següent en funció de la pregunta;
  74.       * RMN => Retorna en ascii l'increment(5 bytes) => exemple 0,0,9,8,N(final d'instrucció)
  75.       * RBN => Retorna en ascii l'angle(5 bytes) => exemple 0,0,9,8,N(final d'instrucció)
  76.       * RSN => pregunta per els sensors(5 bytes) => exemple 0,1,0,0,N(final d'instrucció)
  77.       * RVN => Pregunta per el voltatge(batería)(5 bytes) => exemple 1,2,5,N(final d'instrucció)
  78.       * @return
  79.       * @throws Throwable
  80.       */
  81.         public char[] Rebre() throws Throwable {
  82.          char  caracter = 0;
  83.          int i=0;
  84.      
  85.         while (caracter != 'N'){
  86.             try{
  87.             caracter = com.receiveSingleChar();
  88.             }
  89.             catch(Com.ComException e){ System.out.println("No se recibio nada");}
  90.             rebut[i] = caracter;
  91.             i++;
  92.         }
  93.         return rebut;
  94.     }
  95.  
  96.  
  97.    
  98.     public void CerrarPuerto(Com com) throws Throwable {
  99.         com.close();
  100.     }
  101. }

He provado con; meterle un sout para ver lo que sacaba y me escribe esto;
leido: ( escribe un cuadrado)
leido: ( escribe un cuadrado)
etc.. no me deja copiar ese cuadrado aquí por eso lo pongo en letras xd
hasta que peta el array, que es eso? es un null? podría meter otra condicion al while pero no sé que es eso xd

Última edición por marcwolf; 15/06/2011 a las 06:21

Etiquetas: filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.