08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 11 ■ Sensores de pressão<br />

271<br />

in_byte agora armazena o valor MSB da leitura de pressão. Na sequência, a linha SPI<br />

é desativada, e você retorna o MSB da leitura de pressão para o loop principal:<br />

digitalWrite(SLAVESELECT, HIGH); // Desativa o dispositivo SPI<br />

delay(10);<br />

return(in_byte); // valor de retorno<br />

A próxima função é read_register16(), que executa praticamente a mesma ação, exceto<br />

que, dessa vez, em vez de retornar um byte de 8 bits, retorna uma palavra de 16 bits.<br />

Novamente, o endereço do registro é transmitido à função.<br />

unsigned long read_register16(char register_name)<br />

Então, você declara dois bytes e um float:<br />

byte in_byte1;<br />

byte in_byte2;<br />

float in_word;<br />

Os dois bytes armazenarão, cada um, oito bits da palavra de 16 bits, e o float armazenará<br />

a palavra final de 16 bits que a função transmitirá de volta. O restante da função é<br />

idêntico à implementação anterior, exceto que, dessa vez, você recebe de volta dois<br />

conjuntos de 8 bits, em vez de apenas um.<br />

register_name

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!