Autor Tema: Dispositivo RS232 y LCD  (Leído 1842 veces)

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

Desconectado RODDY155

  • PIC10
  • *
  • Mensajes: 2
Dispositivo RS232 y LCD
« en: 29 de Octubre de 2008, 18:38:25 »
Hola amigos del foro, primero que nada felicitarlos por este espacio que ayuda a varias personas. Bueno ire directo al  punto
estoy creando un proyecto en CCS el cual consiste en leer de una pistola de codigos de barra y esta trasmitira al pic su lectura
para comparar segun yo estime conveniente, el hecho es que la pistola transmite de forma serial una cadena de numeros. Bueno
el problema esta que al simularlo en Proteus me aparecen los mensajes en el LCD (eso esta bien...ahhh para simular la pistola
uso un terminal virtual en proteus en el cual puedo escribir y al apretarle enter se me ve en pantalla), ahora lo que le estoy mandando se me ve pero no lo compara con un arreglo previamente definido, miren este es el programa:

#include <16F84A.h>
#fuses XT, NOWDT, NOPROTECT
#use delay(clock=4000000)
#include <string.h>
#include <stdlib.h>
#define Tx PIN_A1 // PIN de Transmisión
#define Rx PIN_A0 // PIN de Recepción
//#define PIN_A3 43
#use rs232(baud=9600,parity=N,xmit=Tx,rcv=Rx,bits=8)
//#use fast_io (a)
#use fast_io (b)

#include "lcd.c"
#define use_portb_lcd TRUE
disable_interrupts(global);


void main()
{

   char cod1[4]="100";
   char cod2[4]="200";
   char lectura[4];
   RESTART_WDT();
   lcd_init();
   printf(lcd_putc," PROY LECTURA\n");
   printf(lcd_putc,"PIC LISTO");

   /*delay_us( 3000 );
   output_high(PIN_A2);
   delay_us( 3000 );*/


   while(1)
   {
      gets(lectura);
      printf("rProducto: %s\f",lectura);
      printf(lcd_putc,"\fProducto:\n%s",lectura);

     if(lectura==cod1)
         {
            delay_us( 3000 );
            output_high(PIN_A2);
            delay_us( 3000 );

         }

     if(lectura==cod1)
         {
            delay_us( 3000 );
            output_high(PIN_A3);
            delay_us( 3000 );

         }


      //output_low(PIN_A2);
      //output_high(PIN_A3);
   }
}

Desconectado RODDY155

  • PIC10
  • *
  • Mensajes: 2
Re: Dispositivo RS232 y LCD
« Respuesta #1 en: 29 de Octubre de 2008, 18:42:04 »
se me olvido mencionar que solo estoy simulando en proteus aun no uso la pistola...por eso tengo
los arreglos de longitud 4.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Dispositivo RS232 y LCD
« Respuesta #2 en: 29 de Octubre de 2008, 20:15:20 »
Hola.

Para comparar string's debes hacerlo byte a byte.

Saludos
El papel lo aguanta todo

Desconectado teleko

  • PIC10
  • *
  • Mensajes: 41
Re: Dispositivo RS232 y LCD
« Respuesta #3 en: 30 de Octubre de 2008, 09:56:55 »
Hola.

Para comparar string's debes hacerlo byte a byte.

Saludos

Eso, o usar la funcion strcmp de la librería string.h

funcionamiento strcmp

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Dispositivo RS232 y LCD
« Respuesta #4 en: 30 de Octubre de 2008, 12:16:29 »
Hola

La funcion strcmp compara byte a byte  :mrgreen:

Saludos
El papel lo aguanta todo


 

anything