TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: neocommandos en 19 de Octubre de 2004, 19:53:00
-
Hola foro,
tengo una dudilla. Estoy iniciandome con la transmision de datos por RS232 e hice el ejemplo de abajo, que es muy tonto, en funcion de la cadena introducida por el teclado del PC activa los leds del puerto C de mi entrenador. Pero nada mas iniciar el programa, en vez de aparecer el texto "Escribe el comando" aparecen caracteres extraños, una vez que se pulse cualquier tecla, el programa funciona normalmente, y aparece el mencionado texto correctamente. Entonces, por que solo la primera vez manda los caracteres extraños?
Si alguien tiene idea, agradeceria que me echara un cable.
Por otro lado estoy intentando hacer un termometro con el DS1820, en el CCS viene un ejemplo para el DS1920, pero no logro echarlo andar, alguien tiene hecho algun ejemplo con el DS1820?
Gracias a todos de antemano.
#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NODEBUG,NOLVP,NOCPD
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)
#include <string.h>
#include <Registros.h>
void main()
{
char comando[4];
char parametro1[3]="ON";
char parametro2[4]="OFF";
set_tris_c(0x00);
puerto_c=0b00000000;
while (1)
{
puts("Escribe el comando"
;
gets(comando);
if (strcmp(comando,parametro1)==0) // Si el comando es ON activa puerto RC
puerto_c=0b11111111;
else if (strcmp(comando,parametro2)==0) // Si el comando es OFF enciende RC0-RC3
puerto_c=0b00001111;
else // Si el comando es distinto a ON u OFF desactiva
puerto_c=0b00000000; // puerto RC
}
}
-
intenta ponerle un reardo al programa antes de empezar a transmitir....
eso me pasó a mi en PBP, al quitar la alimentación al circuito y volver a ponersela...
otra cosa que puedes hacer, es poner
puts("INICIANDO!!!"![Giño Giño]()
una pausa de 100ms
puts("Escribe el comando"![Giño Giño]()
ya me contarás....
-
Hola Abago,
me ha bastado con poner un retardo de 100 ms, antes de entrar en el bucle infinito, lo probe y perfecto, funciona!!
Muchas gracias.
Salu2 ![Giño Giño]()
-
de nada....
Creo que es una de las cosas que nos pasan a todos los primeros días que intentamos trabajar con el puerto serie... ![Sonrisa Gigante Sonrisa Gigante]()
y ya verás como no es la única pega que vas a encontrar... ![Muchas risas Muchas risas]()
de todos modos, el retardo puedes reducirlo....
es posible que con 10ms también te funcione....
Puse 100ms para asegurar que le diese tiempo al harware a ponerse a tono... ![Sonrisa Gigante Sonrisa Gigante]()
mucha suerte con tu proyecto...
-
Si, la verdad es que entre todos, pues nos ayudamos y sacamos los problemillas para adelante. Este foro esta genial, me tiene enganchado, jeje.
Salu2