Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/02/2010 #1


Concatenar bytes para el msp430 en IAR
Buenas,

estoy haciendo un programa en el que recibo datos desde el puerto serie. el problema es que necesito concatenar 3 bytes en hexadecimal y luego convertir ese dato a decimal.
02/02/2010 #2


Respuesta: Concatenar bytes para el msp430 en IAR
Yo hice eso pero con micro AVR en IAR.
03/02/2010 #3


Respuesta: Concatenar bytes para el msp430 en IAR
te importaría decirme cómo lo solucionaste?
gracias

bueno he conseguido concatenar los bytes. ahora tengo un entero de 32 bits en hexadecimal y me gustaria saber cómo lo puedo pasar a decimal.
gracias
03/02/2010 #4


Respuesta: Concatenar bytes para el msp430 en IAR
Eso depende como lo has enviado.
Si has dividido el numero entero grande de 32bits en cuatro partes;
O usaste una limitación decimal para hacerlo mas fácil la transformación.
Si lo primero y ya tienes el array cargado de recepción.
Por ejemplo te llego estos datos recivido[]={0x0f,0xab,0x1c,0xfa}.
Son dos números enteros de 16 bits.
el byte recivido[0] es el mas significativo.
p1 y p2 un varible entera sin signo.
p1=recivido[0]*0x100;
p1=p1+recivido[1];
p2=recivido[2]*0x100;
p2=p2+recivido[3];

Si es un numero de 32bits
p3 es un entero largo.
p3=p1*0x10000+p2;
04/02/2010 #5


Respuesta: Concatenar bytes para el msp430 en IAR
A ver, yo lo que tengo es un entero de 32 bits. por ejemplo: num=0x0001C138 y quiero que se lea num2 = 115000.
eso es lo que me has puesto??es que estoy empezando con esto y estoy un poco perdida.

muchas gracias
04/02/2010 #6


Respuesta: Concatenar bytes para el msp430 en IAR
Es lo mismo para el el micro, los mcroscontroladores trabajan en HEX, si tu pones a=15 es los mismo a=0x0f, para el micro es el mismo valor. No te confundas en la forma de reprecentarlo para ver en LCD o Serial(hiperterminal) por que eso sonn son caractres ASCII que tienes que transformarlo usando las funciones de stdio.h en C.
Del ejemplo anterior hay otra forma de hacerlo con union{}.
el valor enviado (0x00f0ab50) tx.
sea el array recivido[]={0x00,0xf0,0xab,0x50}.
union valor{
unsigned long a;
char b[4];
}
unsigned long valor_final;
....
..
union valor entero;
entero.b[0]=recivido[0];
entero.b[1]=recivido[1];
......
entero.b[3]=recivido[3];
valor_final=entero.a;
05/02/2010 #7


Respuesta: Concatenar bytes para el msp430 en IAR
Muchas gracias. me ha quedado más claro.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.