Autor Tema: ENVIAR CADENA DE CARACTERES DESDE VISUAL STUDIO 2010 PARA ACCIONAR MOTORES  (Leído 1966 veces)

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

Desconectado leotronik

  • PIC10
  • *
  • Mensajes: 10
Buenos Dias Colegas.
En esta ocasión les traigo otro problemita que me surgio al enviar una cadena de caracteres desde visual studio.
 Resulta que necesito mover dos motores en un pic16f877a cada uno a la derecha y a la izquierda. Me ha funcionado un parte que con un boton en visual puedo enviar solo un caracter y efectivamente el motor se activa (esto se logra con la instrucción getc(); en PIC-C CCS COMPILER) esto me ha funcionado perfectamente pero ahora lo que quiero es que con una cadena de caracteres enviados desde visual por protocolo rs232 y con la instrucción gets(); me accione el motor para un sentido o para el otro pero aun no me ha funcionado no se que tenga mal. Les agradezco su colaboración y espero haberme hecho entender.

LES DEJO EL CÓDIGO DEL PROGRAMA QUE LLEVO HASTA EL MOMENTO
#include <16f877a.h>
#fuses xt,NOWDT,NOPROTECT,NOLVP,NOWRT,NOBROWNOUT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include <stdlib.h>
#include <input.c>
#include <flex_lcd_1.c>
#byte port_b=6
#byte port_c=7
#byte port_d=8
char dato[16];//DEFINO TAMAÑO EN CARACTERES DEL DATO A ENVIAR
Void main()
{
   set_tris_d(0x00);
   port_d=0x00;
   lcd_init();
   LCD_PUTC("\f   <<CONTROL>>\n   <<MOTORES>>");


   
   While(true)
      {
         
       gets(dato);
       lcd_putc("\f");
       delay_ms(100);
       printf(lcd_putc,"%s",dato);
     
             
                 
                        if(dato=='DERECHA')
                                 {
                             port_d=0x01;
                 
                           
                                }
             
      }
 }     



Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: ENVIAR CADENA DE CARACTERES DESDE VISUAL STUDIO 2010 PARA ACCIONAR MOTORES
« Respuesta #1 en: 16 de Abril de 2013, 13:16:35 »
como estas enviando desde visual studio?, el gets queda esperando los caracteres de salto de linea y retorno de carro, tendrias que enviar esto desde tu programa en la PC.
en C# es con "writeline"

tambien podrias usar el getch e ir guardando tu cadena hasta que recibas un caracter que indique el fin de la cadena, como un '.' o una '@' por ejemplo
"Nada es imposible, no si puedes imaginarlo"

Desconectado leotronik

  • PIC10
  • *
  • Mensajes: 10
Re: ENVIAR CADENA DE CARACTERES DESDE VISUAL STUDIO 2010 PARA ACCIONAR MOTORES
« Respuesta #2 en: 16 de Abril de 2013, 13:47:54 »
Muchas gracias por responder Rivale.
Mira el asunto es que necesito que el pic reconozca esa cadena de caracteres para accionar cualquier cosa por ejemplo encender un led independientemente de como la envié mediante el protocolo rs232 pero tu aporte es muy valido sin embargo voy a seguir investigando haber si lo logro hacer funcionar...

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: ENVIAR CADENA DE CARACTERES DESDE VISUAL STUDIO 2010 PARA ACCIONAR MOTORES
« Respuesta #3 en: 16 de Abril de 2013, 18:49:56 »
La consideración que te menciono la tendrías que hacer para recibir cualquier cadena desde rs232, l comando gets() queda esperando el fin de linea que debería enviar la PC
"Nada es imposible, no si puedes imaginarlo"


 

anything