Ver Mensaje Individual
  #5  
Antiguo 05-12-2009
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Reputación: 21
REHome Va por buen camino
Heeeeeeeeeeeello:

Hace un tiempo hice que puedo enviar una trama de bytes con un botón al puerto COM1 ya dentro en el Form1, una vez compilado no puedo seleccionar nngún byte que desee así que se me ocurrió hacer una cosa, poner un textBox por medio.

Al introducir un botón para poder enviar un byte, por ejemplo la letra t, en ASCII es 0x74 (hexadecimal). También quiero que se puede enviar más de un byte, por ejemplo, hola, pero mejor centrarse con uno para hacer pruebas. Su código fuente es:

Código:
byte[] mBuffer = new byte[1];
            mBuffer[0] = 0x74; //ASCII letra "t".
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
Supuestamente si pongo como dije antes, la letra t, en realidad se debe enviar en 0x74 al puerto serie y el dispositivo debe leerto en 0x74, en este caso es un microcontrolador PIC 16F84A. (Ver vídeo ).

He intentado al menos enviar un byte desde un textBox así:

Código:
private void button_t_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[1];
            mBuffer[0] = textBox_trama.Text.ToString(); // Error aquí.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }


Código:
private void button_t_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[1];
            mBuffer[0] = textBox_trama.Text.ToCharArray(); // Error aquí.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

Código:
private void button_t_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[1];
            mBuffer[0] = textBox_trama.Text; // Error aquí.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }
Sospecho que es algo de conversión...

Descargar
código fuente
Contraseña: P.D.E.

Código:
 byte[] mBuffer = new byte[1];
            mBuffer[0] = byte.Parse(textBox_trama.Text); // Error aquí.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);

Investigando un poco lo hice ejecutar sin ningún problema pero al enviar una letra me dice:

No se controló System.FormatException
Message="La cadena de entrada no tiene el formato correcto."


Da igual que en el textBox le ponga la letra t o en ASCII en 0x74, el resultado del error es el mismo.

De momento quiero hacerlo así para hacer pruebas.

Hasta otra.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita