TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micro_cadaver en 31 de Julio de 2007, 19:41:45

Título: convertir cadena de 4 elementos a un registro tipo long de 4bytes para 18f452
Publicado por: micro_cadaver en 31 de Julio de 2007, 19:41:45
holas foreros que comen y duermen en el foro o que no comen ni duermen en el foro, bueno mi pregunta es la siguiente, tengo una cadena de 4 elementos (4 bytes)  con valores cargados que quiero cargarlo en un registro tipo long de 4 bytes juntos, estuve buscando en libros pero no le doy a la clave o quizas me falte algo:

unsigned char cargador[4];
unsigned long mensaje;
.
.
.
   mensaje = ((unsigned long)cargador);

lo que pasa es que la cadena "cargador" captura 4 valores que necesito ponerlos en el registro mensaje, y pues me parece que asi sería más conveniente aunque no, pero si se puede hacer esto seria muy comodo para mi. Gracias y Saludos!!!!
Título: Re: convertir cadena de 4 elementos a un registro tipo long de 4bytes para 18f452
Publicado por: Nocturno en 06 de Agosto de 2007, 07:48:12
¿Has probado esto?

Código: [Seleccionar]
mensaje = make32 (cargador[0],cargador[1],cargador[2],cargador[3]);
Título: Re: convertir cadena de 4 elementos a un registro tipo long de 4bytes para 18f452
Publicado por: omix en 06 de Agosto de 2007, 13:44:49
Hola, si lo que quieres es convertir una cadena a un entero, long o similar, puedes usar la funcion atoi que proporcionan los compiladores de C.

Por ejemplo si tienes:

const char *numero = "1234";

y haces

int x = atoi(numero);

obtienes en x el valor 1234 como un número entero.

Un saludo.
Título: Re: convertir cadena de 4 elementos a un registro tipo long de 4bytes para 18f45
Publicado por: micro_cadaver en 06 de Agosto de 2007, 19:56:31
ok gracias voy a probarlos