Comunicación serial con Visual Basic 2008

Hola META, El proyecto completo es no que no se hacer.Se hacer lo de los pulsadores pero nada mas.
Hasta ahorapepe

Hola META, como lo de transmitir los datos creo que esta claro lo que hace falta es e encendido y apagado
de la (luz) que yo he puesto un texbox,pero no se si es eso dado que tu en uno tienes puesto una bombillita
yo por poner pongo lo que haga falta,pero es que no se que tengo que poner hata ahora pepe
 
Última edición:
Deja mirar bien y te comento.

Al menos envíame el proyecto completo, sólo me diste códigos. No se peude ver la Interfaz. Mira en mis Documentos y entra en la carpeta Visual C# 2010, luego entras en otra carpeta llamada Project y lo puedes localizar.
 
Última edición:
Hola META he echo lo que dices habro project y en windowsFormsApplication1 cuando le pico se me abre
el interfaz entonces e copiado esa carpeta, para enviartela pero cuando le pico desde la carpeta que copiado no se abre el interfaz e intentado copiar toda la carpeta project pero no me deja hasta ahora pepe
 
Cuando comprimas el proyecto, no te olvides de cerrar el Visual C# primero, luego vete a la carpeta Project, localizas el proyecto y lo copias.
 
Hola de nuevo:

Estoy aquí otra vez.

El enalce http://www.fileupyours.com/view/303869/RS232_port%20serie.HEX no me funciona.

En cuanto al esquema que haz hecho
http://www.subeimagenes.com/img/sin-titulo-1-25757.jpg
puedes cambiar de configuración manualmente. Con ello te hago una pregunta. ¿No puedes cambiarlo con otro PIC16F84A automáticamente usando sólo un pulsador por cada PIC esclavo?

Prefiero hacer prueba de la Interfaz con un ON y OFF independiente. Algo parecido abajo.
Ver el archivo adjunto 26911

Saludo.
 
Última edición:
http://www.fileupyours.com/view/303869/RS232 port serie.HEX

Hola META te e puesto otra vez el hex, lo he probado y me funciona bien de todas formas es
el 2º asm:Meta me da la inpresion que aun no me has entendido bien.los interruptores son para
que cada pic tenga su direccion si yo tengo una instalacion con X pic y se estropea uno lo
cambio por otro dado que todos tienen el mismo programa,solo tengo que porner su direccion
con los interruptores pienso que si pruebas el circuito lo entenderas bien.gracias pepe

yo he probado ese interfaz que tienes puesto y lo gonfigure off-0n A off-onB off-onC off-onD y funciona
bien estarian sobrando los 4 off y que cada pulsador ponga off/on.Ah cundo digo funciona es fisicamente
hasta ahora
 
Última edición:


Lo he probado y funciona.

Pusiste esto:
Hola META te recuerdo los datos a enviar y recibir


1º gupo de pulsadores 000A,000B,000C 000D DATOS PARA ENVIAR
2 GRUPO "" 001A,001B,001C,001D
3º GRUPO 010A,010B,010C,010D
4 GUPO 011A,011B,011C,011D
5 GRUPO 100A,100B,100C,100D
6º GRUPO 101A,101B,101C,101D
7º GRUPO 110A,110B,110C,110D
8º GRUPO 111A,111B,111C,111D

NOTA. Yo he puesto para la lucesita texbox porque me parece que es eso

Para encenderse = recibe los mismos datos que embia los pulsadores

para apagarse = recibe los mismos datos en miniscula =000a
Desde la Interfaz quiere que ponga los datos arriba para enviar que son en mayúscula. ¿Verdad?
¿Son en realidad ON?

Exacto, el textBox son las lucesitas que te dicen exactamente con textos lo que son, activado o desactivado, apagado o encendido. Es una forma de ver las cosas.
 
Ok.

Voy hacer pruebas, no te desanimes.

Por lo qu eme he dado cuenta quieres que envíe al PIC 4 byte. ¿El PIC te hará caso realmente?

Dices que hay que enviar por ejemplo 000A que es esta combinación:
Código:
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x41; // Es la letra A.
¿El PIC te reconoce los 4 tramas de byte recibido?

En el ejemplo del libro solo reconoce una trama de byte. Te advierto por si acaso.
 
Última edición:
Hola de nuevo:

He puesto un código sencillo sobre el envío de botones, no he tocado para nada los textBox que cada uno de ello debe ser reconocido que ya haré más adelante.

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.IO.Ports; // No olvidar aquí.

// http://social.msdn.microsoft.com/Forums/es-es/devcommes/thread/c0d40d0d-f867-4afc-8772-ffa51c432f9c

namespace Puerto_Serie
{
    public partial class Form1 : Form
    {
        // Utilizaremos un string como buffer de recepcion
        string Recibidos;

        public Form1()
        {
            InitializeComponent();
            // Abrir puerto mientra se ejecute la aplicación
            if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            // Ejecutar la funcion Recepcion por disparo del Evento 'DataReived'
            serialPort1.DataReceived += new
            System.IO.Ports.SerialDataReceivedEventHandler(Recepcion);
        }
        // Al recibir los datos
        private void Recepcion(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            // Acumular los carácteres recibidos a nuestro 'buffer' (string)
            Recibidos += serialPort1.ReadExisting();
            // Invocar o llamar al proceso de tramas
            this.Invoke(new EventHandler(Actualizar));
        }
        // Procesar los datos recibidos en el buffer y extraer tramas completas
        private void Actualizar(object s, EventArgs e)
        {
            // Asignar el valor de la trama al textBox
            richTextBox1.Text = Recibidos;
        }

        private void button_000A_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x41; // Es la letra A.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

        private void button_000B_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x42; // Es la letra B.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

        private void button_000C_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x43; // Es la letra C.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

        private void button_000D_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x44; // Es la letra D.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

    }
}


Prueba esta parte y me cuentas si funciona. Hay que diseñar bien la Interfaz.
 
teclea ten el terminal 000A 111A y te daras cuenta

eso que has puesto esta bien es lo de los puldadores pero falta el cambio de color de los texbox
 
Última edición:
Arriba