08.11.2017 Views

arduino_básico_Michael_McRoberts

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 15 ■ Leitura e escrita de dados em um cartão SD<br />

353<br />

Nesse caso você passa a ele dados falsos, mas o ideal é que você obtenha essa informação<br />

de uma fonte como um chip RTC (Real Time Clock), ou um módulo GPS, e<br />

utilize esses dados para marcar a hora do arquivo corretamente. A flag que corresponde<br />

ao primeiro parâmetro é composta de:<br />

T_ACCESS = 1<br />

T_CREATE = 2<br />

T_WRITE = 4<br />

• T_ACCESS - Define a última data de acesso do arquivo;<br />

• T_CREATE - Define a data e hora de criação do arquivo;<br />

• T_WRITE - Define a data e hora da última operação de escrita/modificação do<br />

arquivo.<br />

Em seu caso, você utiliza apenas o valor 2, o que significa que define a data e hora da<br />

criação do arquivo. Caso você quisesse utilizar todas as três opções ao mesmo tempo,<br />

o valor seria 7 (4 + 2 + 1).<br />

Na sequência, um loop for é executado dez vezes, para escrever o número da linha e<br />

alguns dados de teste no arquivo, seguido por um retorno de carro e uma alimentação<br />

de linha. As três funções para escrita de números, strings e CRLF são chamadas<br />

nessa operação.<br />

for (uint8_t i = 0; i < 10; i++) {<br />

writeString(file, "Line: ");<br />

writeNumber(file, i);<br />

writeString(file, " Write test.");<br />

writeCRLF(file);<br />

}<br />

Qualquer ação que seja executada no arquivo não será escrita até que o arquivo seja<br />

fechado. Você utiliza o comando .close() para isso. Dessa forma, você fecha o arquivo<br />

e escreve nele todos os dados definidos em seu código.<br />

file.close();<br />

Então, você deixa que o usuário saiba que o arquivo foi criado:<br />

Serial.println("File Created");<br />

Agora que criou um novo arquivo e escreveu dados nele, você avança para a parte do<br />

programa que abre o arquivo e lê seus dados. Para isso, utilizamos o comando open(), que<br />

necessita de três parâmetros: o diretório em que se encontra o arquivo, o nome deste e<br />

a flag apropriada para a operação. Você utiliza &root para garantir que está verificando<br />

o diretório raiz, e a flag O_READ, que abre um arquivo para leitura. O comando é implementado<br />

como condição de uma instrução if, para que você possa imprimir o nome do<br />

arquivo, caso consiga abri-lo, e executar uma rotina de erro se a operação não tiver êxito.

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

Saved successfully!

Ooh no, something went wrong!