Comunicar pic con vb utilizando puerto serie

Hola, necesitaria que alguien me pasase un programa ejemplo en que un pic se comunique con el pc utilizando el puerto serie y el programa visual basic, a poder ser el codigo del pic en ccs.
Un saludo
 
ecazcarra dijo:
Hola, necesitaria que alguien me pasase un programa ejemplo en que un pic se comunique con el pc utilizando el puerto serie y el programa visual basic, a poder ser el codigo del pic en ccs.
Un saludo

Hay muchos Pics, cual es de tu interés?

Saludos
 
Hola MaMu, utilizo el 16F887, con el hyperterminal y la instrucción printf me va perfecto, pero con vb no lo consigo, el pueto lo abro pero yo creo que el problema es de sincronismo, pq a veces lo lee y a veces lee sin haber nada, el envio es de texto, pq no se como hacerlo en binario. Y en la dirección de vb a pic no he conseguido nada, pq no se que instrucciones utilizar. Los datos que envio son de temperatura, presión,...
Un saludo.
 
Te fijaste en el Datasheet del 16F887? (mssp section) está toda la data que necesitas saber para controlar envío y recepción.

Section 12.1, Note1:
Note 1: When the SPEN bit is set the RX/DT I/O pin
is automatically configured as an input,
regardless of the state of the corresponding
TRIS bit and whether or not the EUSART
receiver is enabled. The RX/DT pin data
can be read via a normal PORT read but
PORT latch data output is precluded.

Section 12.1.2.1, Note
Note: When the SPEN bit is set the TX/CK I/O
pin is automatically configured as an
output, regardless of the state of the
corresponding TRIS bit and whether or not
the EUSART transmitter is enabled. The
PORT latch is disconnected from the
output driver so it is not possible to use the
TX/CK pin as a general purpose output.

Saludos
 
Hola he entablado una comunicacion vb puerto serie con un PIC programado con mikrobasic
la idea es que VB envie por el puerto serie el caracter "x" , el pic muestree el primer canal 0 analogico a 10 bits,
luego VB envie "y" y el pic muestree el canal analogico 1 y envie la data
luego vb envia "z" el pic muestrea y envia la data de 10 bits
Las peticiones de envio al pic las hago cada 100ms usando un timer, sin mayor problema
pero cuando quiero disminuir el tiempo entre peticiones para aumentar la velocidad de muestreo la data se vuelve invalida y origina un error de desbordamiento en VB que no se de donde proviene
Alguien sabe como hacerlo de una mejor manera.
la idea princiapal es muestrear 3 canales analogicos y enviar la data por el puerto serie a Vb para graficar esas muestras.
Adjunto el programa VB, El programa en Mikrobasic y la simulacion en proteus.
 

Adjuntos

  • Adq_datos_serie_pic.rar
    18.8 KB · Visitas: 150
Última edición:
Leyendo un poco encontre sobre el evento OnComm el cual varia el valor de la propiedad CommEvent, cuando esta propiedad toma el valor de dos, aplicando un If commRx.CommEvent = 2, se detecta en tiempo real cada vez que ha llegado un nuevo dato, para procesar dato por dato la propiedad InputLen debe ser 1
y la propiedad RThreshold debe ser 1 en caso de querer procesar varios datos cambiar el valor de estas propiedades ymodificar el programa, en el mensaje anterior lo pense hacer con timer pero de esta otra forma es mucho mas eficiente.

Para mas informacion consultar este pdf
http://www.frro.utn.edu.ar/repositorio/catedras/electrica/2_anio/fundamentos_informatica/apuntes/visual_basic/Manejo%20Puertos.pdf

Adjunto
El programa VB , la simulacion y el programa para el pic16f877a en mikrobasic, para que la simulacion corra deben instalar el virtual serial port driver y simular 2 puertos serie, se puede obtener en demo.
 

Adjuntos

  • Adq_datos_serie_pic16f877a.rar
    73.2 KB · Visitas: 167
Última edición:
Atrás
Arriba