TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: rferrero en 22 de Octubre de 2004, 10:47:00
-
Hola a todos. Tengo una medida separada o dispuesta en dos registros. Bueno, perdón, 2 variables int de 8 bits cada una. Lo que quiero es meter la parte alta y baja del byte de la medida (las 2 variables int) en una variable de tipo long int. Se hace con el comando shift_right(dirección,bytes,0 ó 1). El caso es que dirección es un puntero a memoria. Qué dirección de memoria?? Bytes supongo que será 8.
Tengo que reservar previamente 16 bits de memoria y 8 antes y después de estos 16 y luego utilizar el comando shift?? Estoy un poco perdido, la verdad. No termino de tener claro cómo se hace. ![Helado Helado]()
Gracias de antemano.
Un saludo.
-
es mas sencillo que eso:
make16(variable1,variable2);
![Idea Idea]()
saludos
-
que tal!
fijate con algo como esto:
long int reg_largo;
int reg_corto_A;
int reg_corto_B;
.......
reg_corto_A = 103;
reg_corto_B = 23;
reg_largo = (long)reg_cortoA; // operador cast para convertir a long reg_cortoA
reg_largo <<= 8; // roto a la izquierda 8 lugares para que no se solapen luego con reg_cortoB
reg_largo += (long)reg_cortoB; // los sumo
Saludos
Jaco
-
efectivamente es lo mismo pero escribiendo mas código
![Sonrisa Gigante Sonrisa Gigante]()
![Sonrisa Gigante Sonrisa Gigante]()
![Sonrisa Gigante Sonrisa Gigante]()
![Sonrisa Gigante Sonrisa Gigante]()
saludos
-
Vaya, pues no era tan complicado.
Muchas gracias!!
Un saludo.
Rubén.