Estoy usando el compilador C18 y necesito obtener los tres bytes de short long
de MSB a LSB. Yo diría que podría usar esto:
void theFunction(unsigned short long input) {
doSomething((input>>16) & 0xff);
doSomething((input>>8) & 0xff);
doSomething(input & 0xff);
}
Pero ahora mi código no funciona (se compila, pero no se ejecuta como se esperaba). No sé dónde está el problema, ¿puede alguien confirmar que este código funciona?