Escrevendo funções para leitura de bytes individuais de variável de 32 bits no Arduino

Olá Pessoal,

Precisei de uma função para retornar os 4 bits menos significativos e os 4 bits mais significativos de um byte e foi solucionado com a ajuda dos colegas em outro tópico através das funções highBits() e lowBits().

Seguindo as dicas dos colegas, para extrair os bytes individuais de uma variável de 32 bits, escrevi o código abaixo:

variável com 4 bytes: DDDDDDDD CCCCCCCC BBBBBBBB AAAAAAAA

//==========================

uint32_t byteD (uint32_t valor) {
return ((valor & 0xFF000000)>>24);
}


uint32_t byteC (uint32_t valor) {
return ((valor & 0x00FF0000)>>16);
}

uint32_t byteB (uint32_t valor) {
return ((valor & 0x0000FF00)>>8);
}

uint32_t byteA (uint32_t valor) {
return (valor & 0x000000FF);
}

Acho que poderia ficar numa única função, que acham?

Abçs,

Exibições: 246

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço