Autor Tema: Error al conectar Visual Basic con Proteus (Programa Básico)  (Leído 4694 veces)

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

Desconectado dr9216

  • PIC10
  • *
  • Mensajes: 7
Error al conectar Visual Basic con Proteus (Programa Básico)
« en: 02 de Marzo de 2013, 01:30:58 »
Hola a todos, soy nuevo en el foro, trato de realizar el encendido de un led en Proteus mediante Visual Basic, al hacerlo con el Virtual Terminal de Proteus no hay problema , corre bien, pero cuando conecto el circuito mediante un compim con VB la comunicación no se realiza correctamente, sospecho que son los parámetros de comunicación pero no encuentro el error y estoy varado en este punto y necesito avanzar, les agradecería mucho si le echaran un ojo al programa, veo que no me deja subir algunos tipos de archivos, por lo tanto dejo el código de Microcode y VB:

Microcode:

include "modedefs.bas"
cmcon=7
led var porta.0
datos var byte

high led : pause 1000 : low led

inicio:
    serin portb.0,N9600,datos
    if datos="P" then goto prendido
goto inicio

prendido:
    high led
    serout portb.1,N9600,["E"]
    pause 5000
    serout portb.1,N9600,["A"]
    low led
goto inicio

VB:

Private Sub Command1_Click()
    MSComm1.Output = "P"
End Sub

Private Sub Form_Load()
    MSComm1.PortOpen = True
    Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
    DATO = MSComm1.Input
   
    If Len(DATO) > 0 Then
    End If
   
    If DATO = "E" Then
        Shape1.FillColor = QBColor(12)
    End If
   
    If DATO = "A" Then
        Shape1.FillColor = QBColor(8)
    End If
   
End Sub

también un dejo un jpg del circuito en Proteus y del form en VB

y por último el link para descargar el Virtual Serial Port Kit necesario para conectar los dos programas, simplemente se crea una conexión virtual entre dos puertos com de la computadora y se asigna uno a cada uno.

www.virtual-serial-port.com

se que es mucho lo que pido, pero si tienen tiempo necesito ayuda.GRACIAS DE ANTEMANO,  :)
 

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Error al conectar Visual Basic con Proteus (Programa Básico)
« Respuesta #1 en: 02 de Marzo de 2013, 10:09:22 »
Hola, trata de hacer varias cosas a ver si mejora
1- No conectes paralelamente el compim y el terminal virtual, se asume que tienes bien configurado las velocidades del compim
2- Verifica el virtual terminal entre Visual y el Hyperterminal, por ejemplo
3- Una duda, porque no estás utilizando el pin TX del PIC ?, lo estas haciendo por software ?

Saludos.

Desconectado dr9216

  • PIC10
  • *
  • Mensajes: 7
Re: Error al conectar Visual Basic con Proteus (Programa Básico)
« Respuesta #2 en: 02 de Marzo de 2013, 13:23:13 »
Hola, muchas gracias por tu respuesta.

He probado la que me haz propuesto:

Cambié la conexión para utilizar los pines TX y RX, quité el terminal virtual pero igualmente no ha funcionado, ahora que al hacerlo hubo una pista, no se prenden las luces azules que suelen prenderse entre la conexión del compim TXD y RX del pic, y la otra está de color rojo, me refiero al RXD del compim y el TX del pic, creo que esto deja a la configuración del compim como haz dicho, pero  he revisado los parámetros de comunicación y en los dos programas es 9600,n,8,1, el compim está configurado de la siguiente manera:

Physical Baud Rate: 9600

Physical Data Bits: 8

Physical Parity: NONE

Virtual Baud Rate: 9600

Virtual Data Bits: 8

Virtual Parity: NONE

Y los bits de parada de ambos: 1

según yo está bien pero la configuración es el error que puede ser, he hecho otros ejercicios de comunicación solo con el Virtual Terminal utilizando 2400,N,8,1 y seteando en el Virtual Terminal RX/TX Polarity en inverted y han funcionado perfectamente, así que sospecho que en este programa lo que falla es la lógica invertida, como puedo setear esto en las propiedades del compim y si no es esto, qué crees que pueda ser? Agradezco tu ayuda de antemano.






Desconectado dr9216

  • PIC10
  • *
  • Mensajes: 7
Re: Error al conectar Visual Basic con Proteus (Programa Básico)
« Respuesta #3 en: 02 de Marzo de 2013, 13:35:10 »
Hola, trata de hacer varias cosas a ver si mejora
1- No conectes paralelamente el compim y el terminal virtual, se asume que tienes bien configurado las velocidades del compim
2- Verifica el virtual terminal entre Visual y el Hyperterminal, por ejemplo
3- Una duda, porque no estás utilizando el pin TX del PIC ?, lo estas haciendo por software ?

Saludos.

Hola, olvidé citar tu respuesta, creo que sin esto no se te notificará de la mía.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Error al conectar Visual Basic con Proteus (Programa Básico)
« Respuesta #4 en: 03 de Marzo de 2013, 19:41:51 »
Hola, prueba con este ejemplo, yo utilizo el Virtual serial port drive

Desconectado Ducky

  • PIC10
  • *
  • Mensajes: 18
Re: Error al conectar Visual Basic con Proteus (Programa Básico)
« Respuesta #5 en: 04 de Marzo de 2013, 01:10:50 »
Hola
 
mira veo que al cargar el formulario abres el mscom, pero.. ¿ya lo tienes seteado al COM con el que se debe de comunicar?
Citar
Private Sub Form_Load()
    MSComm1.PortOpen = True
    Timer1.Interval = 1
End Sub

por ejemplo yo acostumbro a setear por código y después abrir el COM:
Código: [Seleccionar]
    MSComm.CommPort = 1 'No. de Puerto COM a utilizar
    MSComm.Settings = "9600,n,8,1"
    MSComm.PortOpen = True

Saludos!  8)
« Última modificación: 04 de Marzo de 2013, 01:13:52 por Ducky »
け.:. Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas .:. け