Hola:
¿Se puede crear en Visual Basic 6 en modo consola este código de Visual Basic .net 2017?
La idea es portar este código de Visual Basic .net al Visual Basic 6. Me parece todalmente diferente y complicado.
Imports System.IO.Ports Imports System.Text Module Module1 Sub Main() ' Título de la ventana. Console.Title = "Recibir datos desde Arduino con Visual Basic .net" ' Tamaño ventana consola. Console.WindowWidth = 55 ' X. Ancho. Console.WindowHeight = 18 ' Y. Alto. ' Cree un nuevo objeto SerialPort con la configuración predeterminada. Dim Puerto_serie As New SerialPort("COM4") Puerto_serie.BaudRate = 115200 Puerto_serie.Parity = Parity.None Puerto_serie.StopBits = StopBits.One Puerto_serie.DataBits = 8 Puerto_serie.Handshake = Handshake.None Puerto_serie.RtsEnable = True ' Establecer los tiempos de espera de lectura / escritura. Puerto_serie.ReadTimeout = 500 ' Milisegundos. Puerto_serie.WriteTimeout = 500 ' Detecta cualquier dato recibido. AddHandler Puerto_serie.DataReceived, AddressOf DataReceivedHandler Puerto_serie.Open() ' Abrir puerto. Dim tecla As ConsoleKey Console.WriteLine("Pulse tecla 1 para encender y 2 para apagar:") Do tecla = Console.ReadKey(True).Key ' Espera pulsación de teclas. Select Case tecla ' Tecla 1 del teclado estandar. Case ConsoleKey.D1, ConsoleKey.NumPad1 ' Tecla 1 del número del pad. Dim miBuffer1 As Byte() = Encoding.ASCII.GetBytes("Luz_ON") ' Codificación ASCII y guarda en la variable array tipo byte. Puerto_serie.Write(miBuffer1, 0, miBuffer1.Length) ' Envía los datos del buffer todo su contenido. Console.WriteLine("Comando ""Luz_ON"" enviado.") ' Muestra en pantalla comandos enviado. Exit Select Case ConsoleKey.D2, ConsoleKey.NumPad2 Dim miBuffer2 As Byte() = Encoding.ASCII.GetBytes("Luz_OFF") Puerto_serie.Write(miBuffer2, 0, miBuffer2.Length) Console.WriteLine("Comando ""Luz_OFF"" enviado.") Exit Select Case Else Console.WriteLine("Tecla el 1, el 2 y Escape para salir.") Exit Select End Select Loop While tecla <> ConsoleKey.Escape ' Pulsa Escape para salir del menú. Console.WriteLine("Presione cualquier tecla para terminar...") Console.WriteLine() Console.ReadKey() ' Espera pulsar una tecla cualquiera. Puerto_serie.Close() ' Cierra el puerto serie. End Sub Private Sub DataReceivedHandler(sender As Object, e As SerialDataReceivedEventArgs) Dim sp As SerialPort = DirectCast(sender, SerialPort) Dim entradaDatos As String = sp.ReadExisting() ' Almacena los datos recibidos en la variable tipo string. Console.WriteLine(Convert.ToString("Dato recibido desde Arduino: ") & entradaDatos) ' Muestra en pantalla los datos recibidos. End Sub End Module
Saludos.
http://electronica-pic.blogspot.com