como pasar un long a un int ( ejemplo en millis)

hola, como estan ?? yo aca feliz de empezar con este tema de arduino y poder consultar en el foro.
es mi primer entrada.

mi consulta es la siguiente:
quiero usar las instrucciones de tiempo millis ( ) y micros () pero la voy a mirar y comparar en varias partes de el programa y NO quiero usar para ello registros long, quiero ahorrar registros.

a mi no me interesa todo el largo de el numero que sale en millis sino la parte de menor peso en este caso, en otro caso podria si interesarme solo la parte de mayor peso.
mi consulta es como hago para solucionar eso ??

puedo capturar millis a un registro , digamos un long que se llame tiempo 1

tiempo1 = millis() ;

ahora si , quisiera poder desglosar lo que me interse de tiempo1 .
en algun caso me puede interesar los 2 bytes de menor peso ( seria un int) o en otro caso el tercer byte .
en fin.

hay alguna manera simple ??

ya probe el pasar asi de manera simple un registro long a uno int. y me da error el programa, pense que quizas si hacia :

tiempo2 = tiempo1 ; // siendo tiempo2 int y tiempo1 long

pues pense que me meteria en tiempo2 lo de menor peso de tiempo1.

pero se me colgo el programa....

me diran si hay una manera simple, o donde ver el tema.

gracias

Así, a groso modo, sería

unsigned int a,b;
unsigned long tiempo1=millis();
a=(tiempo1 & 0xFFFF0000)/65536; seria la parte alta
b=tiempo1 & 0x0000FFFF; sería la parte baja

Estudialo un poco

Saludos

hola, yo estoy comenzando , recien me he anotado y por lo que creo hay aca foro en español ( este ) y otro que no es español, pero me aparece si lo traduzco.

pero bueno mi pregunta es la siguiente y es basica:
si leo con la instruccion millis() algo debere meterlo en un registro long.

pero si durante el programa yo solo necesito el byte de mayor peso , o el de menor peso , o los 2 de menor peso.

¿ hay alguna forma de yo acceder o separar esos 4 bytes ??
asi yo trabajo luego con registros que defino como
byte o int
??

muchas gracias

Moderador: encontré un hilo en la Sección General y otro en Software que claramente he unido.
Es una falta a las normas del foro @fer1 como también lo es escribir en una hilo en ingés una consulta en español que he borrado y que poco tiene que ver con el hilo original pero mas allá que tenga o no que ver, debes respetar el idioma de la Sección en la que te encuentres.
Sección en inglés se consulta en inglés.
X esa razón y porque no tenia que ver con la consulta : tu preguntas del ATmega328p en un hilo del DUE, fue borrada.
Ahora Lee las Normas del foro.

hola, si , mil disculpas, no sabia que habia uno en castellano y otro en ingle4s.
el traductor me traducia y lo leia en castellano.
mil disculpas, voy a leer un poco mas el foro, empaparme un poco asi no me equivoco .

muchas gracias.