Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

18/03/2012 #361


hola, soy nuevo en el foro, y entre por que leí que hablaban del COMPIN
lo que pasa es que estoy haciendo un proyecto para la escuela, y necesito simular la comunicación serial
pero no tengo el complemento COMPIN.
Así que les agradecería mucho si me lo pueden pasar.

Ya lo busque en varias partes del foro pero no encuentro donde descargarlo. Gracias
18/03/2012 #362

Avatar de megasysfix

geexbox dijo: Ver Mensaje
hola, soy nuevo en el foro, y entre por que leí que hablaban del COMPIN
lo que pasa es que estoy haciendo un proyecto para la escuela, y necesito simular la comunicación serial
pero no tengo el complemento COMPIN.
Así que les agradecería mucho si me lo pueden pasar.

Ya lo busque en varias partes del foro pero no encuentro donde descargarlo. Gracias
Compin viene integrado en proteus......
18/03/2012 #363


megasysfix dijo: Ver Mensaje
Compin viene integrado en proteus......
ok muchas gracias, entonces debo preguntar ¿como lo introduzco a mi simulación?
perdón si es que estoy preguntando algo tan elemental, pero es que no lo se usar

Gracias
18/03/2012 #364

Avatar de megasysfix

geexbox dijo: Ver Mensaje
ok muchas gracias, entonces debo preguntar ¿como lo introduzco a mi simulación?
perdón si es que estoy preguntando algo tan elemental, pero es que no lo se usar

Gracias
Te invito a que coloques en youtube Compin proteus, hay te enseñaran paso a paso lo que debes hacer para poder hacerlo funcionar, saludos!!!!
18/03/2012 #365

Avatar de Meta

Puede que se refiera a este:


Saludo.
18/03/2012 #366
Moderador

Avatar de D@rkbytes

Saludos.
Solo como comentario.
El componente para comunicación serial en ISIS de PROTEUS se llama COMPIM no COMPIN
12/04/2012 #367


Hola a todos! Necesito enviar un dato tipo BYTE por puerto serial con VB. Tengo este código:
Dim dato As Byte = 40 // Declaro dato como tipo byte
Luego de abrir el puerto, escribo:
puerto.Output = dato
Y me genera un error en esta linea. La única manera de que no me genere error es haciendo:
puerto.Output = CStr(dato)
El problema con esta linea es que NO QUIERO enviar el dato como string! Si lo pongo así se envían DOS bytes, el que representa al "4" y el que representa al "0". Necesito enviar un byte de valor 40, es decir, 00101000.

Agradecería enormemente su ayuda.

Saludos
12/04/2012 #368


buenas noche estoy empezando con el visual y me encuentro con el c# y el basic en 2008, la duda cual usar es que quiero que se comuniq con un arduino xbee para hacer que un carrito se muy por wi-fi gracias
12/04/2012 #369
Moderador

Avatar de D@rkbytes

andrea1708 dijo: Ver Mensaje
Hola a todos! Necesito enviar un dato tipo BYTE por puerto serial con VB. Tengo este código:
Dim dato As Byte = 40 // Declaro dato como tipo byte
Luego de abrir el puerto, escribo:
puerto.Output = dato
Y me genera un error en esta linea. La única manera de que no me genere error es haciendo:
puerto.Output = CStr(dato)
El problema con esta linea es que NO QUIERO enviar el dato como string! Si lo pongo así se envían DOS bytes, el que representa al "4" y el que representa al "0". Necesito enviar un byte de valor 40, es decir, 00101000.

Agradecería enormemente su ayuda.

Saludos
Saludos andrea1708
Hace poco realize este proyecto completo de interfaz RS232 PIC PC en VB6.
Las funciones son faciles de pasar a VB .Net
El proyecto no lo hize en .Net porque es tan solo una aplicación simple.
Incluye el código fuente comentado y también adjunte algunos ejemplos para su uso.
Dale una vista, y estoy seguro que encontraras la solución para enviar los datos que quieres.

El truco de lo que tu dices envíar como Byte viene siendo tan solo así.

' Enviar los datos como caracteres al PIC
puerto.Output = CStr(Chr(dato))

Espero que con esto puedas solucionar lo que necesitas.

Suerte y hasta luego.
13/04/2012 #370

Avatar de Meta

andrea1708 dijo: Ver Mensaje
Hola a todos! Necesito enviar un dato tipo BYTE por puerto serial con VB. Tengo este código:
Dim dato As Byte = 40 // Declaro dato como tipo byte
Luego de abrir el puerto, escribo:
puerto.Output = dato
Y me genera un error en esta linea. La única manera de que no me genere error es haciendo:
puerto.Output = CStr(dato)
El problema con esta linea es que NO QUIERO enviar el dato como string! Si lo pongo así se envían DOS bytes, el que representa al "4" y el que representa al "0". Necesito enviar un byte de valor 40, es decir, 00101000.

Agradecería enormemente su ayuda.

Saludos
Pon arriba del todo esto.
Código:
Imports System.IO.Ports
Dentro de un button introduces este código.

serialPort1.Open() 'Abrir puerto serie.
Dim mBuffer As Byte() = New Byte(0) {} 'Almacenas bytes en un buffer.
mBuffer(0) = &H40
serialPort1.Write(mBuffer, 0, mBuffer.Length) 'Envía en este caso un byte.
serialPort1.Close() 'Cerrar puerto serie.


Un saludo.
24/04/2012 #371


Hola chicos! gracias a todos por sus respuestas. Al final lo hice asi:

Dim dato As Byte = 40 // Declaro dato como tipo byte
Dim datochar As Char
datochar=Microsoft.VisualBasic.Chr(dato) //esto me permite convertir a char
puerto.Output = CStr(datochar)

Un poco rebuscado pero funciono =)

PD: nunca encontre el metodo .Write en mi VB =S

Ahora tengo otra pregunta. Necesito enviar desde un micro hacia Visual Basic una cadena de bytes. Lo logre colocando el Rtrheshold a 1, es decir, que la interrupción del OnComm sucede cada vez que recibo un dato en el puerto. El problema es que quiero que primero Visual Basic reciba todos los datos en el buffer de recepción y luego de que ya todos llegaron, genere la interrupcion para sacarlos uno por uno.
Creo que tiene que ver con el InputLen y Rtrheshold pero hasta ahora no he logrado nada.
Espero que alguien me pueda ayudar.

Gracias.
25/04/2012 #372

Avatar de Meta

Hola:

Prueba introducir este código desde el rpincipio.

Imports System.IO.Ports

Luego usas serialPort. haber si sale el Write, no es normal que no salga.
10/07/2012 #373


oe man disculpa la molestia he visto unos ejemplos de lo que vienen haciendo, desde la pag. 15 mas o menos y nose que pasa cuando los corro junto con el Visual Serial Port Driver 7.1 - hasta donde se ese programa es como el enganche de visual basic 6.0 y proteus, verdad?, de hecho en el caso visto.

bueno si es asi, cuando lo corro la falla normal es creo con la programacion que esta en visual basic. MsComm1.PortOpen m sale en falla y nose como ver de donde proviene esta falla lo he visto y lo recontra he visto y nada.. =/ si pudieras ayudarme vacan seria hermano (Y) gracias

Pd: soy un nuevo aprendis llevo poco con estos programas, pero quiero ver ya cosas grandes. GRACIAS espero su rpta.!
19/05/2013 #374


Hola a todos principalmente a meta y wily,voy a retomar lo del interfaz de comunicaciones.os dire que lo de controlar la luces creo que esta todo terminado,pero me gustaria poderle poner deteccion de camaras IP por el cual necesitare ayuda.meta cuando te conectes dime por favor como insetar foto,que queria poner una del interfaz terminado y no hallo como
20/05/2013 #375

Avatar de Meta

Hola:

Las fotos las puedes subir en el mismo foro o este enlace.

http://www.subeimagenes.com/

Saludo.
12/05/2014 #376


Comunicación serial con Visual Basic 2008
Hola

Por el puerto serial estoy enviando datos por ejemplo: ffffgghhppppp

estos datos les estoy enviando de manera muy rapida, creo que del orden de nseg (80 no estoy seguro). El transmisor esta configurado a 9600 baudios

En el VB Express 2008 estoy trabajando con la accion: SerialPort1_DataReceived

Código:
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        Dim dato As String = SerialPort1.ReadExisting
        If Microsoft.VisualBasic.Left(dato, 1) = "f" Then
            SendKeys.Send("1");
        End If
        If Microsoft.VisualBasic.Left(dato, 1) = "g" Then
            SendKeys.Send("2");
        End If
        If Microsoft.VisualBasic.Left(dato, 1) = "p" Then
            SendKeys.Send("3");
        End If
        If Microsoft.VisualBasic.Left(dato, 1) = "h" Then
            SendKeys.Send("4");
        End If
        If Microsoft.VisualBasic.Left(dato, 1) = "t" Then
            SendKeys.Send("5");
        End If
        If Microsoft.VisualBasic.Left(dato, 1) = "r" Then
            SendKeys.Send("6");
        End If
    End Sub
El puerto lo estoy iniciando de este modo:

Código:
        SerialPort1.PortName = "COM1" 
        SerialPort1.BaudRate = 9600
        SerialPort1.DataBits = 8
        SerialPort1.Parity = Parity.None
        SerialPort1.StopBits = StopBits.One
        SerialPort1.Handshake = Handshake.None
        SerialPort1.Encoding = System.Text.Encoding.Default
de todos los datos que recibo, solo la mitad entran a trabajar con el conjunto de IFs

por lo que algunas veces no envio el numero 3 , 4 etc.

Alguien sabe si se puede guardar los datos recibidos en un buffer para luego tratarlos en los IFs?

o tambien creo que el problema esta en como les doy la condicion:
Microsoft.VisualBasic.Left(dato, 1) = "r"

Del conjunto de datos que envio, ffffffppppphhhhh solo leo el primero, no estoy seguro pero envio letra por letra al puerto serial, los datos recibidos los guardo en un string, probe guardarlos en un char pero sigue el mismo problema.

Gracias de antemano
12/05/2014 #377

Avatar de papirrin

quizas es mas tardado el if que la recepción de datos, mejor recibelos todos en una variable o en un arreglo y depues hacer la condicionante.

para meterlos en un arreglo utiliza la instruccion split()

otra cosa es que te serciores que el buffer esta vacio pueden estar "quedandose" en el buffer de recepcion
15/05/2014 #378


No entiendo muy buen eso de guardar la cadena y luego ejecutar los ifs

pero encontre otra solucion que parece funcionar y la comparto para los que estan interesados:

La funcion InStr de VB 2008 express es lo que estaba buscando ya que busca un caracter especifico en un cadena.

gracias.
19/06/2014 #379

Avatar de Narcolepsia

Problema de licencia MScomm
Hola a todos. Tengo el siguiente problema a la hora de insertar el MScomm en Visual Basic para poder comunicarlo con una placa Arduino UNO.
El error que me sale es el siguiente:

" No se encontró la información de licencia para este componente. No tiene una licencia apropiada para usar esta funcionalidad en el entorno de diseño".

Antes de darme este error, ni si quiera me aparecía la opción de añadir el componente 'Microsoft Comm Control 6.0'. Para ello descargue el Mscomm32.ocx.

He buscado todo lo habido y por haber y de momento lo único con un poco de sentido ha sido
des-registrar el Mscomm32.ocx y volverlo a registrar desde 'Ejecutar' mediante:

C:\WINDOWS\SYSTEM32\REGSVR32.EXE /u C:\WINDOWS\SYSTEM32\MSCOMM32.OCX
y
C:\WINDOWS\SYSTEM32\REGSVR32.EXE C:\WINDOWS\SYSTEM32\MSCOMM32.OCX

Sin embargo, sigue sin encontrar la licencia del componente.

Agradecería cualquier posible ayuda. Gracias de antemano.
19/06/2014 #380
Moderador

Avatar de D@rkbytes

El componente ActiveX MSCOMM32.OCX no necesita licencia para usarlo dentro o fuera del entorno de desarrollo de Visual Basic.
Tal vez ese archivo fue modificado por alguna instalación y sustituyó al original por uno que requiere licencia.
Prueba borrando ese archivo y copia un archivo original, o reinstala el Visual Basic pero eliminando ese archivo para que la instalación agregue uno nuevo.

Es muy diferente registrar un componente en el sistema con REGSVR32.exe, que registrarlo con licencia.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

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

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