Obtener bytes de un corto en C18

1

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?

    
pregunta Keelan

1 respuesta

1

El código llama a doSomething tres veces, primero con el byte más alto, segundo con el byte medio y tercero con el byte más bajo.

    
respondido por el Pete Becker

Lea otras preguntas en las etiquetas