TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: dioskamisama en 18 de Enero de 2006, 21:52:00
-
Hola, se que parece comodo preguntarlo, pero quisiera trabajar de la manera mas amigable posible.
Lo que necesito hacer (o quisiera) es recibir un texto via RS232 y poder compararlo para enviar una respuesta.
A nivel de byte es facil, pero como trabajar comodo con cadenas?
Uso el pic16f627, que ta" bueno para ser compadre del 84A por la misma plata.
Saludos y gracias.
-
Buenas.
Los lenguajes de alto nivel como el C, traen librerías con estas funciones de comparación. Sin embargo, todo se basa en comparar byte a byte. Lo que puedes hacer es una funcion(si trabajas con C) o una subrrutina (si trabajas en ASM) que compare byte a byte la cadena completa y luego llamarla.
-
Escrito originalmente por dioskamisama
Hola, se que parece comodo preguntarlo, pero quisiera trabajar de la manera mas amigable posible.
Lo que necesito hacer (o quisiera) es recibir un texto via RS232 y poder compararlo para enviar una respuesta.
A nivel de byte es facil, pero como trabajar comodo con cadenas?
Uso el pic16f627, que ta" bueno para ser compadre del 84A por la misma plata.
Saludos y gracias.
Hay muchas formas, pero también muchas complicaciones.
1) Si las cadenas son todas de igual longitud, es un tipo de problema
2) Si las cadenas son de diferente longitud son otro tipo de problema...
Si son de igual longitud la cosa se simplifica porque solo tienes que saber con que cadena comparar. La cadena la tienes que guardar en una tabla (una tabla por cada cadena) y la vas leyendo y comparando, a la mínima diferencia... la rebotas.
Otra forma es guardar toodo lo que recibes de la usart con un timeout. Cuando se cumple el timeout lees lo que recibiste y lo comparas con todas las cadenas posibles, si ninguna coincide.. entonces no respondes nada , y si coincide alguna ya sabras cual es y respondes lo adecuado.
Espero haber sido claro