Autor Tema: Incognita con RS232  (Leído 2608 veces)

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

Desconectado neocommandos

  • PIC10
  • *
  • Mensajes: 25
Incognita con RS232
« 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"Giño;

   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

   }

}

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Incognita con RS232
« Respuesta #1 en: 20 de Octubre de 2004, 02:31:00 »
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
una pausa de 100ms
puts("Escribe el comando"Giño

ya me contarás....

Desconectado neocommandos

  • PIC10
  • *
  • Mensajes: 25
RE: Incognita con RS232
« Respuesta #2 en: 20 de Octubre de 2004, 14:06:00 »
   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

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Incognita con RS232
« Respuesta #3 en: 20 de Octubre de 2004, 23:48:00 »
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
y ya verás como no es la única pega que vas a encontrar... 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

mucha suerte con tu proyecto...

Desconectado neocommandos

  • PIC10
  • *
  • Mensajes: 25
RE: Incognita con RS232
« Respuesta #4 en: 21 de Octubre de 2004, 17:47:00 »
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 Giño