Foros de Electrónica
   Foros de Electrónica > Diseño digital > Interfaces y Programación

Antiguo 28-abr-2007   #1
 
Fecha de Ingreso: octubre-2006
Mensajes: 5
Interface en Visual Basic Para comunicacion PIC-PC

Saludos para todos

Me encuentro elavorando un proyecto sobre comunicacion entre un PIC y un PC por medio de el puerto serie RS232, y me funciona la parte de enviar los datos desde el PIC al PC. Hice una aplicacion en visual basic que recibe los datos...

Pero no me ha quedado del todo bien la aplicacion, porque no he podido configurarle a la aplicacion el MSComm de forma que guarde los datos en un archivo en el instante en que lleguen, no he podido aprender a manejar el detector de deventos del MSComm, de modo que me toco abrir el puerto con la aplicacion y hacer la recepcion manual de los datos cuando este seguro que ya estan en el buffer del puertio...

Mi intres es que sea automatica la aplicacion, que cuando lleguen los datos inmediatamente se guarden en el Archivo y que pueda seguir recibiendo datos el programa... a continuacion adjunto el codigo que he hecho en visual basic


Código:
Dim dato As String
Dim NumArchivo As Integer

Private Sub Command1_Click()

Text1.Text = "ESPERANDO DATOS"

Text1.Text = MSComm1.Input
dato = CStr(Text1.Text)
Open "INVENTARIO.dat" For Append As #NumArchivo
Print #NumArchivo, dato
Close #NumArchivo

Text1.Text = "Recepcion finalizada"

MSComm1.PortOpen = False    'cerrar el puerto al salir del programa


End Sub


Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"      'velocidad, paridad
MSComm1.CommPort = 1                 'elegir el #del puerto
MSComm1.PortOpen = True
NumArchivo = FreeFile()         ' numero que se le asigna al archivo al abrirlo

End Sub

Private Sub CERRAR_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False    'cerrar el puerto al salir del programa
End If
End
End Sub
Agradesco cualquier ayuda al respecto
Iored está desconectado      Responder Citando
Antiguo 01-may-2007   #2
ppt
 
Fecha de Ingreso: mayo-2007
Mensajes: 1

Estoy haciendo algo similar y creo qque lo que tienes que utilizar es el evento OnComm del MSComm, por lo menos asi lo estoy haciendo yo. Seria algo asi:

Private Sub MSComm1_OnComm()
buffer = buffer & MSComm1.Input
End Sub

de esta manera cada vez que se produce el evento (cada vez que recibe un dato) lo añadira a "buffer"
ppt está desconectado      Responder Citando
Antiguo 01-may-2007   #3
 
Fecha de Ingreso: octubre-2006
Mensajes: 5

Gracias... pero ya lo resolví... utilicé el evento MSComm1.CommEvent = comEvReceive poniendo RThreshold como 2... luego activo un temporizador para que me garantice que todos los datos han llegado al buffer y los escribo en el archivo...

Lo del temporizador lo hice por que solo voy a utilizar las lineas de datos y la tierra del puerto...

Gracias de todas formas por la ayuda
Iored está desconectado      Responder Citando
Antiguo Hace 4 Semanas   #4
 
Fecha de Ingreso: septiembre-2009
Ubicación: Venezuela
Mensajes: 22
Respuesta: Interface en Visual Basic Para comunicacion PIC-PC

hola estoy haciendo un proyecto de comunicacion del pic a con la pc y no se como enviar desde el pic lo que tengo guardado en una variable y que lo reciba visual basic y que muestre un mensaje con el numero que tiene la variable, estare agradecido
minssss está desconectado      Responder Citando
Antiguo Hace 4 Semanas   #5
 
Avatar de Meta
 
Fecha de Ingreso: enero-2008
Ubicación: 16F84A y 16F88
Mensajes: 2.215
Respuesta: Interface en Visual Basic Para comunicacion PIC-PC

Aquí creé hace tiempo un manual sobre el Visual Basic y PIC por puerto serie.

http://www.abcdatos.com/tutoriales/tutorial/v12.html

Saludo.
Meta está desconectado      Responder Citando
Antiguo Hace 1 Semana   #6
 
Fecha de Ingreso: abril-2008
Ubicación: Mexico D.F.
Mensajes: 18
Respuesta: Interface en Visual Basic Para comunicacion PIC-PC

Iniciado por minssss Ver Mensaje
hola estoy haciendo un proyecto de comunicacion del pic a con la pc y no se como enviar desde el pic lo que tengo guardado en una variable y que lo reciba visual basic y que muestre un mensaje con el numero que tiene la variable, estare agradecido
Hola
estoy haciendo un proyecto similar con un PIC conectado al puerto serie de la PC, necesito leer en caracter que me envia el pic para hacer un conteo en Visual Basic por ejemplo si me llega "A" incremento un contador_A +1 y lo quiero plasmar en un label. pero solo me cuenta 1 y no incrementa mas auqnue los datos se reciben correctamente. el programa es el siguiente:

Private Sub MSComm1_OnComm()
Dim Com1 As Variant
Dim Contador_A As Integer
Dim Contador_B As Integer
Contador_A = 0
Contador_B = 0
If MSComm1.CommEvent = comEvReceive Then
Com1 = Com1 + MSComm1.Input
Text1.Text = Com1
Select Case Com1
Case "A"
Contador_A = Contador_A + 1
Label20.Caption = Contador_A

Case "B"
Contador_B = Contador_B + uno
Label21.Caption = Time
End Select
End If
End Sub

En el case B puedo ver la hora cada vez que el pic envia un caracter B, si se actualiza, pero cuando recibe "A" no he conseguido incrementar mi contdor y verlo en en label20. Alguin puede apoyarme

GRacias de antemano
zoomg80 está desconectado      Responder Citando
Respuesta

Herramientas



Retroceder   Foros de Electrónica > Diseño digital > Interfaces y Programación


La franja horaria es GMT -5. Ahora son las 11:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.3.0 ©2009, Crawlability, Inc.