Autor Tema: Problemas con E/S en 16LF628  (Leído 1698 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NimeLatoco

  • PIC10
  • *
  • Mensajes: 1
Problemas con E/S en 16LF628
« en: 01 de Febrero de 2005, 17:56:00 »
Hola, estoy intentando que un 16LF628 comunique con unos lectores en una red 485. Le he puesto un MAX485. El programa esta en C.

Para enviar :

      output_bit(PIN_B3, 1); /* Para indicar que transmite */
      /* Envia orden de pitar en verde al lector */
      Orden[0] = 0x24; /* STX */
      Orden[1] = "1";
      Orden[2] = "0"; /* Direccion */
      Orden[3] = 0x41; /* Orden Acceso_OK */
      /* Compone el checksum */
      Orden[4] = Orden[0];
      Orden[4] = Orden[4] + Orden[1];
      Orden[4] = Orden[4] + Orden[2];
      Orden[4] = Orden[4] + Orden[3];
      Orden[5] = 0x0A; /* ETX */
     
      Putc(Orden[0]);
      Putc(Orden[1]);      
      Putc(Orden[2]);      
      Putc(Orden[3]);      
      Putc(Orden[4]);      
      Putc(Orden[5]);
           
      output_bit(PIN_B3, 0); /* Indica fin de la transmision */


Y para recibir :

      /* Espera la respuesta del lector */
      TimeOut = 0;
      While ( (!Kbhit()) && (++TimeOut<100000)) {
        Delay_us(10);
      }
     
      if (Kbhit()) {
        Resultado = Getc();
     
        if (Resultado=0x26) {
             output_bit(PIN_B0,1);
             delay_ms(250);
             output_bit(PIN_B0,0);
             delay_ms(1000);          
        } else {
             output_bit(PIN_B0,1);
             delay_ms(3000);
             output_bit(PIN_B0,0);
             delay_ms(500);
        }
      } else {
        for (cont=1; cont < 10; cont++)
        {
             output_bit(PIN_B0,1);
             delay_ms(100);
             output_bit(PIN_B0,0);
             delay_ms(100);
        }
        delay_ms(1000);
      }


El pin de TX es el A3, y el de RX el B5 (esto es despues de hacer muchas pruebas dando palos de ciego).

El problema es que el lector pita correctamente, lo que indica que el PIC transmite correctamente por el MAX485. El problema viene al esperar la respuesta : El pic siempre recibe la respuesta correctamente (INCLUSO CUANDO LE QUITO EL CABLE QUE CONECTA EL MAX485 Y LA PATILLA B5 DEL PIC). No lo entiendo. Como puede recibir datos por la patilla B5 si no esta conectada a nada.

Alguien me puede ayudar. Gracias de antemano.


 

anything