Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

09/02/2012 #1


Ayuda leyendo información serial.
Saludos, estoy trabajando con un PIC18F4550 y mediante esta definición hago que lo que vaya llegando por el puerto rx, lo lea la variable datos:

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8, stream=datos)

Hasta ahí todo bien, como los caracteres que necesito almacenar son 90, declaro la variable char c y char datosrec[100] como un string para mediante el siguiente ciclo ir almacenando cada caracter que llega:

while(conteo<=90)
{
c=fgetc(datos);
datosrec[conteo]=c;
conteo=conteo+1;
}

Una vez almacenado el string, comparo ciertas posiciones para verificar lo que necesito, así:

if (datosrec[27]==x & datosrec[56]==y & datosrec[90]==z)
{
printf ("Es igual);
}
else
{
printf("No es igual");
}

Hasta ahí todo bien, hace la comparación que necesito si es igual muestra "es igual" y sí no lo es muestra "no es igual".

Mi duda se presenta porque ahora necesito que constantemente se esté revisando la información que llega por ese puerto, porque en algún momento dejará de ser igual y ya necesito con eso dar otra orden al PIC, pero el problema que tengo es que solo busca por información una vez y de ahí ya quedan los datos almacenados en "datosrec" y no vuelve a buscar más, no sé qué opción me recomiendan, para que el PIC constantemente esté leyendo lo que entra.

Agradezco mucho sus posibles sugerencias.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.