Autor Tema: problemas al recivir por rs232 en el PC  (Leído 1657 veces)

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

Desconectado Sebascl

  • PIC12
  • **
  • Mensajes: 73
problemas al recivir por rs232 en el PC
« en: 24 de Septiembre de 2005, 20:14:00 »
hola tengo el sigueinte problema :
   - con una aplicacion en VB6 mando por rs232 un 2 que tendria que encender un led y retornar por rs232 "Comando 2", cuando leeo lo que el pc recivio lo que encuentra es la respuesta de la instruccion anterior.

el siguiente es el codigo:

#include <16F84A.h>
#use delay(clock=4000000)
#fuses XT
#nolist
#byte port_A=05
#byte port_b=06
#use fixed_io(A_OUTPUTS=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4)
#use fixed_io(B_OUTPUTS=PIN_B0,PIN_B2,PIN_B3,PIN_B4,PIN_B5,PIN_B6)
#use rs232(baud=9600,xmit=PIN_B6,rcv=PIN_B7,invert)

unsigned int opcion;

envia_ok()
   {
      printf("
Comando %c
",opcion);
   }

apaga_led()
   {
      output_low(pin_a0);
   }

prende_led()
   {
      output_high(pin_a0);
   }

apaga_led1()
   {
      output_low(pin_a1);
   }

prende_led1()
   {
      output_high(pin_a1);
   }

void main() {

   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   port_a=0;
   port_b=0;

   while(1)
   {
      opcion=getc();
      envia_ok();
      switch(opcion)
      {
         case "1": apaga_led();
         break;
         case "2": prende_led();
         break;
         case "3": apaga_led1();
         break;
         case "4": prende_led1();
         break;
      }

   }

}


   - el programa en VB6 es el siguiente:

Private Sub Command1_Click()
    MSComm1.Output = "2"
    leer = True
End Sub

Private Sub Command2_Click()
    MSComm1.Output = "1"
    leer = True
End Sub

Private Sub Command3_Click()
    MSComm1.Output = "3"
    leer = True
End Sub

Private Sub Command4_Click()
    MSComm1.Output = "4"
    leer = True
End Sub

Private Sub Form_Load()
    MSComm1.PortOpen = True
    MSComm1.RThreshold = 1
    MSComm1.InputLen = 50
End Sub

Private Sub leer()
    Label1.Caption = MSComm1.Input
End Sub


   - el problema que tengo que la respuesta del pic la pc la lee atrasada en una respuesta.