Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/09/2010 #1


Problema con comunicacion virtual serial port by etima con Proteus
Saludos miren tengo un problema la verdad soy nuevo en esto del protocolo rs232, e estado leyendo algunos libros y viendo algunos articulos en los foros de este medio, bueno el problema es el siguiente tengo el programa Vitual Serial Port Driver 6.9 by Etima y el Proteus 7.6 sp0, y lo que quiero es tratarlos de intercomunicar, lei en un articulo como crear una pequeña interfaz con visual basic express 2008, y ya tengo el programa, en el virtual serial port e creado 2 puertos virtuales COM2 y COM4, el programa de visual basic manda bytes por el puerto vitual COM2 y este programa si me reconoce que se estan enviando bytes por ese puerto, mas sin embargo en la simulacion del proteus utilizando un puerto virtual lo e configurado para que sea el COM2 pero no puedo hacer que estos interactuen, tambien e tratado de hacerlo por via Hyper Terminal, y resulta lo mismo, a lo que me refiero es que la interaccion de la interfaz y el virtual serial Port no tengo ningun problema el problema es cuando lo quiero hacer interactuar con el proteus. Ya que cuando envio datos virtualmente me 2 leds indicadores del COMPIM de proteus se ponen en color Rojo y no hace la interaccion

Les dejo un pequeño programa de un sensor de temperatura y un pic16f877a para ejemplificar mi problema, este programa lo diseñe para que cuando detecte una tecla enviada por el RS232 enviee la temperatura a la computadora, asi mismo la visualice en un lcd. Utilizando la Virtual Terminal del proteus no tengo ningun problema, pero lo que yo quiero es poder hacer lo mismo pero con el COMPIM de proteus

aki les dejo algunas fotos de mi problema aver si alguien me puede ayudar.
13/09/2010 #2


Respuesta: Problema con comunicacion virtual serial port by etima con Proteus
A mi tambien me pasa lo mismo y nunca pude saber porque. Por eso uso el Virtual Terminal de Proteus y listo!
13/09/2010 #3


Respuesta: Problema con comunicacion virtual serial port by etima con Proteus
Creo que el problema es que pones el mismo puerto en ambos o sea el com2...
es decir lo que tienes que hacer es que en visualbasic le pones al control mscomm el puerto com2 y al proteus (COMPIM) le tienes que poner el puerto com4, el virtual serial port lo que hace es comunicar ambos puertos...
13/09/2010 #4

Avatar de Eduardo

Respuesta: Problema con comunicacion virtual serial port by etima con Proteus
yeaaa dijo: Ver Mensaje
...aki les dejo algunas fotos de mi problema aver si alguien me puede ayudar.
Empezá ayudando vos: Te falta el archivo en proteus.
13/09/2010 #5


Respuesta: Problema con comunicacion virtual serial port by etima con Proteus
Gracias lubeck por tu respuesta, con eso solucione el problema ya puedo utilizarlo sin ningun problema

Bueno ya que estamos en estos temas alguien me podria decir como simular el usb en proteus, como dije anteriormente estoy usando la version 7.6 sp0
13/09/2010 #6


Respuesta: Problema con comunicacion virtual serial port by etima con Proteus
eso es un poco mas complejo...
busca un tema de los compañeros jhonatan moyano o meta para que te empapes un poco mas del tema..
18/11/2010 #7

Avatar de albertoxx

Como le hicieron para activar el virtual terminal de proteus
Aqui esta el codigo del pic en ccs si funciona por que me enciende y apaga el led pero yo quiero mandar un caracter y verlo en la terminal virtual de proteus lo voy a usar despues para debuguear, que tendre de malo en el codigo o en el proteus?

Código:
#include <18f2550.h>      //archivo de cabecera
#fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,NOVREGEN,NOPBADEN // fuses  configurados
#use delay(clock=48000000)     // el clock que tendremos a la entrada del CPU
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BITS=8)

void main() {
    while(1){    
      output_high(PIN_B0);       // saca un nivel bajo en el pin b0
      delay_ms(100);      
      output_low(PIN_B0);    // saca un nivel alto en el pin b0
      delay_ms(100);     
      printf("HOLA");
      delay_ms(100);
    }
}
Imágenes Adjuntas
Tipo de Archivo: jpg diag1.JPG (9,7 KB (Kilobytes), 54 visitas)
19/11/2010 #8


saludos alberto

intenta correrlo con las siguientes correcciones

#include <18f2550.h> //archivo de cabecera
#fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PL L5,CPUDIV1,NOVREGEN,NOPBADEN // fuses configurados
#use delay(clock=48000000) // el clock que tendremos a la entrada del CPU
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BITS=8)

void main() {
while(TRUE){
output_high(PIN_B0); // saca un nivel alto en el pin b0
delay_ms(100);
output_low(PIN_B0); // saca un nivel bajo en el pin b0
delay_ms(100);
puts("HOLA"); //Con esto envias una cadena de caracteres HOLA a la PC
delay_ms(100);
}
}
19/11/2010 #9

Avatar de albertoxx

Sigue sin funcionar probe ponerle en el virtual terminal que se miraran los caracteres en hexagesimal y efectivamente se mira que esta enviando pero solo 00 00 00 00 00
22/11/2010 #10

Avatar de albertoxx

Problema resuelto era la velocidad del reloj del pic en el programa esta a 48Mhz y en proteus apesar de que tiene un cristal de 20 Mhz parece que le importa mas la velocidad que tiene cuando le das propiedades tenia 4 Mhz le puse los 48 Mhz y funciono perfecto.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.