Commit 32a01c6e authored by Víctor Fernandes Gandara's avatar Víctor Fernandes Gandara
Browse files

Adicionei o header de Storage. Nele, tem somente a função store_data até...

Adicionei o header de Storage. Nele, tem somente a função store_data até agora. Agora o arquivo teste.c dentro do CPDigiMain é capaz de usar este header para executar store_data chamando-o de maneira externa. O uso disto está melhor explicado em usage.txt.
parent 4553cc94
/* #include "CPDigiStorage.h" */
#include <stdio.h>
#include <stdbool.h>
#include "../CPDigiStorage/CPDigiStorage.h"
char *data = "dados";
int event_count = 0;
......@@ -22,11 +23,16 @@ void process_event()
char *data_message = build_data_string();
/* queue_data(data_message); está comentado pois não seria compilável, uma vez que ainda não temos um header com esta função*/
/*Envia o string de dados para a fila. Precisaremos incluir neste arquivo o CPDigiQueue.h para poder fazer o chamamento desta função*/
/*store_data(data_message); está comentado pois não seria compilável, uma vez que ainda não temos um header com esta função*/
/*Faz a escrita de 'data_message' no cartão SD. Precisaremos incluir neste arquivo o CPDigiStorage.h para poder fazer o chamemento desta função*/
bool SDWrite_status = store_data(data_message);
/*Faz a escrita de 'data_message' no cartão SD. Precisaremos incluir neste arquivo o CPDigiStorage.h para poder fazer o chamemento desta função*/
if (SDWrite_status)
{
printf("Escrita em cartão SD realizada com sucesso\n");
}
event_count = incrementEventID();
printf("%d", event_count);
}
No preview for this file type
......@@ -5,7 +5,10 @@ Já "CPDigiMain.c" me parece ser onde fica o código destas funções em si
Desta maneira, quando lemos "teste.c", podemos ver que ao usar
> #include "CPDigiMain.h"
estamos incluindo no programa todas as funções presentes em "CPDigiMain.h", sendo que elas executarão aquilo que está em "CPDigiMain.c"
Para o CPDigiStorage, que está em outro diretório, precisamos dar o caminho completo, dessa forma:
> #include "../CPDigiStorage/CPDigiStorage.h"
estamos incluindo no programa todas as funções presentes em "CPDigiMain.h", sendo que elas executarão aquilo que está em "CPDigiMain.c" (o mesmo vale pro CPDigiStorage)
para compilarmos o programa, no entanto, temos que usar o seguinte comando:
> gcc -o teste teste.c CPDigiMain.c
para que o compilador entenda onde procurar as funções do header externo
> gcc -o teste teste.c CPDigiMain.c ../CPDigiStorage/CPDigiStorage.c
para que o compilador entenda onde procurar as funções dos headers externos
#include <stdio.h>
#include <stdbool.h>
bool store_data(char* data)
{
/*Escreve data dentro do cartão SD*/
bool SD_Status = true; /*No código real, isso será definido por alguma função externa de checagem*/
bool Operation;
if (SD_Status)
{
Operation = true;
}
else
{
Operation = false;
}
return Operation;
}
#include <stdbool.h>
bool store_data(char *data);
#include <stdio.h>
#include <stdbool.h>
#include "CPDigiStorage.h"
int main()
{
char *data_message = "Hello world";
bool SDWrite_status = store_data(data_message);
if (SDWrite_status)
{
printf("Ok\n");
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment