mandar integer por puerto serie

#1
mi duda es: como se puede madar un numero entero por el puerto serie, para madar string ya tengo los comandos pero quisiera saber como mandar numeros de tipo integer?
 
#2
Falta un dato importantisimo: ¿En que lenguaje de programacion y que plataforma hard y soft?

VB 6: MSComm en modo binario (array de bytes)
C, de PIC: funcion putc

Saludos!
 
#3
ok mira el lenguaje es c++, el compilador es visual estudio.
cargue un microcontrolador (atmega8), pero el dato que recive de la computadora son datos del tipo integer y ya no tengo el cargador para modificar el micro.
los datos de tipo entero son de dos bytes.
por ejemplo para madar un cuatro seria:
00000000 00000100
osea dos bytes uno con cero y otro con cuatro
 
#4
en C++ no lo se pero en java igual que envias un string, puedes enviar una matriz de bytes.
Y un entero son dos bytes consecutivos, no?.
 

Dr. Zoidberg

Well-known-Papá Pitufo
#5
Por alguna parte ponés esto:
Código:
typedef union {
   int entero;
   unsigned char bytes[2];
   } Int2Bytes;
Y luego para mandarlo hacés algo como:
Código:
void enviarEntero( int quecosa ) {
Int2Bytes dato;

dato.entero = quecosa;
acaLlamasALaFuncionQueEnviaUnByte( dato.bytes[0] );
acaLlamasALaFuncionQueEnviaUnByte( dato.bytes[1] );

}
Esa es la forma mas simple para no andar usando desplazamienos y operaciones lógicas...
 
#6
ok es muy interesante gracias a eso ya estoy trabajando en algo.
ya pude mandar un dato (no lo que esperaba), el microcontrolador controla un motor, pero el motor nunca se detiene y siempre gira en una dirección(no en la que quiero), es cuestión de checar un poco el programa ,en cuanto lo aga funcionar como debe ser les pongo como lo hice
 
Arriba