Comunicación serial con Visual Basic 2008

Meta si quieres deja el pulsador en blanco,la cuestion es que despues de estar echo el ejecutable se pueda
escribir ò bien en el texbox o el pulsador

de lo contrario hay que indentificarlo de alguna manera vien 1, 2 ,3 o lo que sea
 
Última edición:
Haré unas pruebas con On/Off, después juzga. Voy a empezar desde cero la apliación. Te advierto que trabajaré lento, ya que en estos momentos estoy estudiando Java para clase y es obligado.

Espera que haga un mini ejemplo de lo que deseas.
 
Última edición:
Código de un botón. El botón se llama On/Off.

Código:
string botonazo_1 = "a"; 
        private void button_000A_Click(object sender, EventArgs e)
        {
            if (botonazo_1 == "a")
            {
                byte[] mBuffer = new byte[1];
                mBuffer[0] = 0x41; // Es la letra "A".
                serialPort1.Write(mBuffer, 0, mBuffer.Length);
                textBox_000A.BackColor = Color.Red;
                botonazo_1 = "b";
            }

            else
            {
                byte[] mBuffer = new byte[1];
                mBuffer[0] = 0x61; // Es la letra "a".
                serialPort1.Write(mBuffer, 0, mBuffer.Length);
                textBox_000A.BackColor = Color.Maroon;
                botonazo_1 = "a";
            }
        }
Si te fijas bien, envía A y la a. Puedes descargar el ejemplo hecho sólo con el primer botón y me dices si lo deseas así.
 

Adjuntos

  • Puerto_Serie0.05.rar
    6.9 KB · Visitas: 38
Última edición:
Hola META e mirado el interfaz.y es igual que otro que tu tienes con 4 pulsadores de encendido y 4 de apagado.En su dia te dije que no estaba bien.Aqui nosotros tenemos que tener en cuenta que nuestro pulsador del interfaz osea el PULSA-INTER es conmutador con el pulsador del pic osea PULSA-PIC por lo tanto lo primero que se tiene que tener en cuenta es que la luz que gobierna el pic se puede apagar y encender desde los 2 sitios por ese motivo la luz del texboz solo debe encenderse y apagarse cuando reciba
el dato desde el pic cuando reciba "A" se encienda y cuando reciba "a" se apage hasta ahora pepe

Otra cosa que he obserbado es que los texbox que no estam programados se puede escribir,pero no se puede escribir en el que esta programado.en los texbox se tendria que poder escribir una vez echo el ejecutable.hasta ahora pepe
 
Última edición:
Hola:

Es verdad, no lo recordaba. REcuerda que sólo puse el primer y único botón. Para dejar las cosas más claras. Porque tengo que hacer exámenes el Martes y Miércoles de Java y necesito hueco, tiempo libre para lo que estamos haciendo para Visual C#.

ap04g.gif

ap05g.gif

http://atc.ugr.es/docencia/udigital/ap10.html

No recordaba que el PIC es el que tiene que cambiar el color a la Interfaz, ejjeje. Sorry. Por lo que entiendo hasta el momento es:


  1. El color del textBox debe cambiarlo con la orden y desde el PIC.
  2. El textBox se puede escribir. ¿Vas a escribir algo? ¿Qué se quede guardado y se carga al iniciar cualquier palabra escrita en el textBox?
  3. La interfaz tiene 32 botones tipo pulsadores On-Off.

¿Falta algo más?
 
Si correcto el texbox debe cambiarse de color cuando reciba el dato del pic.
el texbox para que sea un interfaz generico,se tiene que poder escribir una vez hecho el ejecutable,por
otra parte cuando te dije que podia utilizarse como central de alarmas ya te lo explicare porque eso solo
depende de la programacion del pic.hasta ahora pepe

El texbox o el pulsasor se tendria que poder escribir para ponerle el nombre de la estancia donde este insta-
lado finalmente
 
Última edición:
si es posible si gracias pepe

Es posible. Te lo haré de una manera que pulsando un botón del menú se activen los textBox para que se puedan escribir y luego no se pueda modificar, ya lo verás. haré un ejemplo.

En cuanto a enviar la "A" y la "a" desde la Interfaz al PIC. ¿Después el PIC16F88 que es lo que hace?

¿Volver a enviar a la interfaz algún dato que identifique la luz del textBox?
¿Recibe la A y la a?
 
Última edición:
No los pulsadores siempre van a enbiar el 1ºpulsador A,el 2º pul B,el3ºpul C,el 4º pul,D asi hasta la 27 que es la Z despues 1,2, 3,4,5 com un
total de 32 es el pic que cuando esta encendido manda A y cuando esta apagado manda a. por supuesto esto es refiriendome a la 1º direccion y el pic tiene la direccion 2 te mandara B encendido y b apagado.
y asi susesibamente todas las direcciones eceptuando los numeros que 1 es encendido y ! apagado, 2 encendido y " apagado 3 encen y · apag 4 encen y $ apag 5 encen y % apag

Los pulsadores siempre tienenque mandar este dato.Enpezando por el 1º A,B,C,D,E,F,G,H,I,J,K,L,
M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z,1,2,3,4,5,
El texbox recibira este dato para que se encienda,empezando por el 1ºA,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S.T.U,V,W,X,Y,Z,1,2,3,4,5
eL TEXBOX recibira este dato para que se apague enpezando por el 1º
a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z,!,",·,$,%,
 
Última edición:
No los pulsadores siempre van a enbiar el 1ºpulsador A,el 2º pul B,el3ºpul C,el 4º pul,D asi hasta la 27 que es la Z despues 1,2, 3,4,5 com un
total de 32 es el pic que cuando esta encendido manda A y cuando esta apagado manda a.

¿Estos pulsadores que dice son del PIC o de la Interfaz?


por supuesto esto es refiriendome a la 1º direccion y el pic tiene la direccion 2 te mandara B encendido y b apagado.
y asi susesibamente todas las direcciones eceptuando los numeros que 1 es encendido y ! apagado, 2 encendido y " apagado 3 encen y · apag 4 encen y $ apag 5 encen y % apag

El PIC me envía los datos que dices arriba por lo que entiendo.


Los pulsadores siempre tienenque mandar este dato.Enpezando por el 1º A,B,C,D,E,F,G,H,I,J,K,L,
M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z,1,2,3,4,5,

¿Pulsadores del PIC otra vez?

El texbox recibira este dato para que se encienda,empezando por el 1ºA,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S.T.U,V,W,X,Y,Z,1,2,3,4,5
eL TEXBOX recibira este dato para que se apague enpezando por el 1º
a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z,!,",·,$,%,

Parece que esta parte si lo entiendo. Me explico. A parte de los pulsadores físicos del PIC, envía el encendido al textBox de la Interfaz 1º A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S.T.U,V,W,X,Y,Z,1,2,3,4,5

No se si será los mismos pulsadores a lo On/Off del PIC o otros al lado que al pulsarlos envían
1º a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z,!,",·,$,%,

Corrígeme si me equivoco escrito justo arriba.

Los pulsadores de la Interfaz del PC. ¿Hace lo mismo?
¿También envía al PIC
A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S.T.U,V,W,X,Y,Z,1,2,3,4,5 para On y a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z,!,",·,$,%, para Off ?
 
Meta los pulsadores de la interfaz siempre mandara A,B,C,D,E
El unico que varia es lo que manda el pic A cundo esta encendido a cuando esta apagado,por supuesto si es el 3 pic mandara C ò c
 
¿La interfaz solo manda A,B,C,D,E y ya está?

Pues diseña al menos la apariencia de la interfaz, me imagino que sabrás hacerlo. Me encargaré de la programación.
 
Si meta la interfaz siempre manda las MAYUSCULAS + 1,2,3,4.5, el pic se encarga de hacer la inversion y
manda MAYUSCULAS cuando se enciende y minisculas cuando se apaga

la apariencia de la interfaz tu la as echo perfecto
 
Un único botón de este ejemplo envía al PIC desde la interfaz la A y la a.
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í.

namespace Depepees_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 SerialDataReceivedEventHandler(Recepcion);
        }
        /*
        // Al recibir los datos
        private void Recepcion(object sender, 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;
        }
             */

        string botonazo_1 = "a"; 
        private void button1_Click(object sender, EventArgs e)
        {
            if (botonazo_1 == "a")
            {
                byte[] mBuffer = new byte[1];
                mBuffer[0] = 0x41; // Es la letra "A".
                serialPort1.Write(mBuffer, 0, mBuffer.Length);
                //textBox1.BackColor = Color.Red;
                botonazo_1 = "b";
            }

            else
            {
                byte[] mBuffer = new byte[1];
                mBuffer[0] = 0x61; // Es la letra "a".
                serialPort1.Write(mBuffer, 0, mBuffer.Length);
                //textBox1.BackColor = Color.Maroon;
                botonazo_1 = "a";
            }
        }
    }
}

¿Ahora, quieres recibir desde el PIC también la A y la a?
¿Para que se encienda y apague el textBox?
 
eceptuanto los numeros que el pic mandara 1,2,3.4,5 encendido y las mayusculas de estos numeros apagado

No meta la interfaz solo mandara MAYUSCULAS MAS 1,2,3,4,5,

sI META el tex box al recibir mayusculas se enciemde y minisculas se apaga. Teniendo en cuenta la ecepcion
de los numeros que 1,2,3,4,5, seria encendido y !,",·,$,% apagado
 
Última edición:
si meta,acuerdate que hace tiempo te puse el trocito de programa donde el pic hace la inversion

F_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_F_F
btfsc Luz
goto Apaga_F
bsf Luz
movlw 'F'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_F
bcf Luz
movlw 'f'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin

la F_final es para cuando el dati viene del pulsador del pic
Ala_F_F es cuando el dato viene del PC osea interfaz
 
Última edición:
Ok. Por fin te entiendo esta parte. Ahora me toca entender la otra.

Nos centramos en un botón de la interfaz de C#. Como sólo envía la A, nunca la a al PIC. El PIC, el PIC puede volver a enviar a la interfaz A y la a.

¿Es así?
ssssssssssssssss-35860.jpg
 
Correcto el pic siempre que cambie de estado te mandara el dato de como se encuentra encendido MAYUSCULA apagado miniscula tanto si se ha cambiado desde la interfaz como del mismo pic
 
Atrás
Arriba