[C con Clase] Enviar bytes puerto serie Visual C#
Hugo Rodríguez
hugorplp en gmail.com
Vie Abr 1 15:35:37 CEST 2011
Hola,
Estoy creando una Aplicación WindowsForm para crear un programa con
interfaz gráfica para el control de un motor paso a paso.
Tengo que mandar la información bajo un protocolo de comunicación
preestablecido que tiene una trama de 18 bytes.
Mi principal problema es que quiero que el usuario introduzca un valor
númerico (la distancia de movimiento del motor) en un TextBox y luego
ese valor númerico (pasado a número de pasos con 6 cifras) quiero
enviarlo en una trama de 6 bytes. Es decir:
Tengo un número entero: 100000
y quiero enviar cada uno de esas cifras por separado en un byte en
Código ASCII:
byte[0]=0x30
byte[1]=0x30
byte[2]=0x30
byte[3]=0x30
byte[4]=0x30
byte[4]=0x31
El principal problema que tengo es que no se como teniendo un entero
puedo meterlo en un byte ya codificado.
He buscado y he visto muchas cosas parecidas en la web pero no soy capaz
de hacerlo.
¿Me pueden dar alguna sugerencia?
Gracias, saludos
El 01/04/2011 13:22, unpocolocos escribió:
> Estoy comenzando a con el curso y estoy tratando de resolver los problemas propuestos con alguna que otra variante.
>
> Concretamente, estoy intentando (sin conseguirlo) detener la introducción de caracteres (cuando se pulse la tecla "INTRO" sin haber introducido un número o letra) en un array dinámico de caracteres. Es decir:
>
>
> char *numero; // Puntero "numero" a tipo char
> int i = 0, j;
>
> // Declaración de prototipos
> bool Incrementa (char);
>
> int main()
> {
> // Reservamos en memoria dinámica una cadena de caracteres
> // a la que apunta "numero"
> numero = new char [10];
>
> // Inicializamos la cadena dinámica con caracteres '0'
> for (j = 0; j< 10; j++) numero [j] = '0'; numero [9] = '\0';
>
> // Introducción del número de dígitos
> cout<< "Introduce los digitos de un numero HASTA UN MAXIMO DE 8"<< endl;
> cout<< "Para salir pulsar directamente [INTRO]"<< endl;
>
> // Introducción de los caracteres de "numero"
> while (i< 8) {
> cout<< " Introduce digito "<< j-9<< ": "; j++;
> cin>> numero [i];
> if (numero [i] == '\n') break;
> i++;
> }
>
> ¿Qué es lo que estoy haciendo mal?
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Más información sobre la lista de distribución Cconclase