Autor Tema: entendiendo el serialport frente al mscomm  (Leído 5709 veces)

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

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
entendiendo el serialport frente al mscomm
« en: 02 de Mayo de 2009, 16:54:00 »
hola.estoy ya loco perdido.no se que estoy haciendo mal.aqui pongo el codigo por si alguien me puede ayudar.
y es que no se como introducir el valor del puerto.como han quitado el mscomm del vb8.pues a aprender.
me dice: El puerto '1:' no existe. y eso que lo tengo abierto.

lo que hace el programa es mandar los codigos de las teclas de direccion al com1.al pulsarlas.

Imports System.IO.Ports 'para el uso del serial port

Public Class Form1


    Dim dato As String
    Dim portcom As String
    Dim value As String
    Dim instance As New SerialPort


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        value = 1
        instance.PortName = value

        If SerialPort1.IsOpen() Then SerialPort1.Close()

        SerialPort1.Open() 'Abrimos el puerto para las comunicaciones.

    End Sub

    Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If (e.KeyCode = System.Windows.Forms.Keys.Up) Then
            'Up
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Down) Then
            SerialPort1.Write("e.KeyCode", 0, dato.Length)
            'Down
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Left) Then
            SerialPort1.Write("e.KeyCode", 0, dato.Length)
            'Left
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Right) Then
            SerialPort1.Write("e.KeyCode", 0, dato.Length)
            'Right
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Enter) Then
            SerialPort1.Write("e.KeyCode", 0, dato.Length)
            'Enter
        End If

    End Sub
End Class
« Última modificación: 02 de Mayo de 2009, 16:58:20 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: entendiendo el serialport frente al mscomm
« Respuesta #1 en: 02 de Mayo de 2009, 17:11:28 »
Miraste la ayuda de MSDN. Tiene un ejemplo que puede ayudarte a detectar tu problema.
No contesto mensajes privados, las consultas en el foro

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: entendiendo el serialport frente al mscomm
« Respuesta #2 en: 03 de Mayo de 2009, 09:27:41 »
he visto el ejemplo.pero no es una funcion basica para poder enviar algo o recivir.es un ejemplo muy enredado. para un principiante en vb8.
este varia vastante del vb6.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: entendiendo el serialport frente al mscomm
« Respuesta #3 en: 03 de Mayo de 2009, 12:23:52 »
Yo tampoco manejo serialport, pero estuve buscando info, haber si alguna de estas te sirve.

http://electronicapic.iespana.es/manual/PicRS232_vcpp_y_vb.pdf   A Partir de la pagina 115.

http://www.itworld2.com/serialport.aspx

http://mteheran.wordpress.com/2008/10/13/programa-de-comunicacion-serial-pc-a-pc-con-visual-basic-modo-consola/

Alguno de los enlaces puede dar con el clavo y solucionar el problema. La primera explica paso a paso como hacer la comunicación, asi que empezaria por es. Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: entendiendo el serialport frente al mscomm
« Respuesta #4 en: 03 de Mayo de 2009, 18:50:02 »
muchas gracias.me han serivido tus enlaces.

pero sigo teniendo problemas,y no se de que puede ser.resulta que si pongo un puerto no existente,me sale un mensage de error en la pda virtual que sale en la implementacion.pero si pongo el com1,al pulsar el boton del formulario.la aplicacion se queda bloqueada.

he provado a conectar un adaptador usb-rs232 en com1.e incluso un emulador de puertos.
pero nada.aqui pongo lo que he insertado en el programa.con un boton en el formulario.




Imports System.IO.Ports


Public Class Form1
    Public Sub New()
        InitializeComponent()
        If Not SerialPort1.IsOpen Then
            Try
                SerialPort1.Open()
            Catch ex As System.Exception
                MessageBox.Show(ex.ToString())

            End Try
        End If
       
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mbuffer As Byte() = New Byte(0) {}
        mbuffer(0) = &H74 ' t
        SerialPort1.Write(mbuffer, 0, mbuffer.Length)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: entendiendo el serialport frente al mscomm
« Respuesta #5 en: 03 de Mayo de 2009, 19:04:36 »
Hola

No uso VB2008 pero uso VC# 2008 que es casi casi lo mismo.

Debes crear un objeto del tipo serial port. En tu ventana de diálogo ve al menú Cuadro de Herramientas y busca el SerialPort. Es como si dibujaras un botón, pero es un objeto serialport y no se verá en tu ventana.

Después podrás modificar sus propiedades, incluyendo la que tanto buscas...

serialPort1.PortName = "COM1";



Usando google encontré un ejemplo bien fácil.

http://msmvps.com/blogs/coad/archive/2005/03/23/SerialPort-_2800_RS_2D00_232-Serial-COM-Port_2900_-in-C_2300_-.NET.aspx

Pasarlo a VB es fácil ya que las funciones son idénticas en ambos lenguajes.