本文整理汇总了C++中Comunicacao类的典型用法代码示例。如果您正苦于以下问题:C++ Comunicacao类的具体用法?C++ Comunicacao怎么用?C++ Comunicacao使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Comunicacao类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
//criar uma instancia da classe de comunicaao
Comunicacao com = Comunicacao((char*)"COM3");
if (com.iniciar() == EXIT_SUCCESS) {
char ci, cf; //
//Eixos eixos; //removi para usar a conf do Mag
graus = 0;
while (true) {
//realizar a leitura do caractere I (Inicio)
int resultado = com.ler((char*) &ci, sizeof(ci));
if ((resultado == EXIT_SUCCESS) && (ci == 'I')) {
//se a leitura dos eixos ocorrer bem
//ler o caractere 'F' no final
resultado = com.ler((char*) &graus, sizeof(graus));
if (resultado == EXIT_SUCCESS) {
resultado = com.ler((char*) &cf, sizeof(cf));
if ((resultado == EXIT_SUCCESS) && (cf == 'F')) {
cout<<"Graus = "<<graus<<endl;
}
}
}
Sleep(100); //mudanca de 100 para 50 ms, a leitura dos graus estava com delay alto demais
}
}
return EXIT_SUCCESS;
}
示例2: main
int main(char **argv, int argc) {
InfoRF info = { 0 };
char ai, at;
//criar uma instancia da classe de comunicacao
#ifdef __linux__
Comunicacao com = Comunicacao("/dev/ttyACM0");
#endif
#ifdef _WIN32 || _WIN64
Comunicacao com = Comunicacao("COM6");
#endif
com.iniciar();
//realizar a leitura do caracter "A" (Inicial)
int resultado;
resultado = com.ler((char*) &ai, sizeof(ai));
//coloca zero para todas as posicoes
/*while(true){
if(com.ler((char*)&info, sizeof(InfoRF)) == 0){
cout <<"id = "<< info.id << endl;
cout <<"temp = "<< info.temperatura << endl;
cout <<"batm = "<< info.batimentos << endl;
cout <<"movimento = "<< info.movimento << endl;
}
Sleep(50);
}*/
while (true) {
if ((resultado == EXIT_SUCCESS) && (ai == 'I')) {
//se a leitura de 'A' correr bem
//ler a altitude
resultado = com.ler((char*) &info, sizeof(info));
if (resultado == EXIT_SUCCESS) {
//se a leitura da altitude correr bem
resultado = com.ler((char*) &at, sizeof(at));
if (resultado == EXIT_SUCCESS && (at == 'T')) {
cout << "id = " << info.id << endl;
cout << "velocidade = " << info.velocidade << endl;
cout << "altitude = " << info.altitude << endl;
cout << "movimento = " << info.movimento << endl;
}
}
}
Sleep(50);
}
return 0;
}
示例3: main
int main(int argc, char* argv[]) {
// ISE FOR POSSIVEL CRIAR O DAEMON
if (daemonize() == EXIT_SUCCESS) {
// INICIA O TRATAMENTO DE SINAIS
iniciarTratamentoSinais();
// LOG - REGISTRO DE OPERAÇÕES
ofstream log(ARQUIVO_LOG, ios_base::out | ios_base::app);
log << "Arquivo de log iniciado!" << endl;
log << "Pipe sendo criando..." << endl;
if (!pipeIniciado()) {
log << "Falha de inicializacao do PIPE" << endl;
exit(1);
}
//Iniciar comunicacao com o arduino
com = Comunicacao (PORTA);
com.iniciar();
continuar = true;
while (continuar) {
int sensores = lerSensores();
log << "Enviando sensores: " << sensores << endl;
// ENVIA PARA O PIPE
if (sensores != -1){
enviarParaPipe(sensores);
}
sleep(1);
}
// REMOVE O ARQUIVO DE PIPE APOS USO
unlink(ARQUIVO_PIPE);
//Finalizar a comunicação
com.finalizar();
log << "Daemon de sensoriamento finalizado!" << endl;
}
return 0;
}
示例4: main
int main(int argc, char* argv[]) {
if (daemonize() == EXIT_SUCCESS) {
iniciarTratamentoSinais();
ofstream log(ARQUIVO_LOG, ios_base::out | ios_base::app);
log << "Arquivo de log iniciado!" << endl;
com = Comunicacao(PORTA);
if(com.iniciar()!=0){
log << "Falha de inicializacao na comunicacao com sensores"<<endl;
exit(1);
}
log << "Pipe sendo criado..." << endl;
if (!pipeIniciado()) {
log << "Falha de inicializacao do PIPE" << endl;
exit(2);
}
continuar = true;
while (continuar) {
int sensores = lerSensores();
if(sensores != -1){
log << "Enviando sensores: " << sensores << endl;
enviarParaPipe(sensores);
}
usleep(250 * 1000);
}
unlink(ARQUIVO_PIPE);
com.finalizar();
log << "Daemon de sensoriamento finalizado!" << endl;
}
return 0;
}
示例5: iniciar
int iniciar(char* porta) {
com = Comunicacao(porta);
return com.iniciar();
}
示例6: ler
int ler() {
int resultado = com.ler((char*) &ci, sizeof(ci));
if ((resultado == EXIT_SUCCESS) && (ci == 'I')) {
resultado = com.ler((char*) &inforRF, sizeof(inforRF));
if (resultado == EXIT_SUCCESS) {
resultado = com.ler((char*) &cf, sizeof(cf));
if ((resultado == EXIT_SUCCESS) && (cf == 'F')) {
return resultado;
}
}
}
return resultado;
}
示例7: lerSensores
int lerSensores() {
int sensores = -1;
char ci = 0, cf = 0;
if ((com.ler(&ci, sizeof(char)) == 0) && (ci == 'I')){
int is = 0;
if (com.ler((char*) &is, sizeof(is)) == 0) {
if ((com.ler(&cf, sizeof(char)) == 0) && (cf == 'F')) {
sensores = is;
}
}
}
return sensores;
}
示例8: ler
int ler() {
int resultado = EXIT_FAILURE;
char ci = 0, cf = 0;
resultado = com.ler((char*) &ci, sizeof(ci)); //manda ler e capta o resultado
if (resultado == EXIT_SUCCESS && (ci == 'I')) { //se o resultado for sucesso e ele tiver encontrado o i
resultado = com.ler((char*) &info, sizeof(info)); //vai ler o conteudo de dados depois do i na estrutura
if (resultado == EXIT_SUCCESS) { //se leu os dados ok
resultado = com.ler((char*) &cf, sizeof(cf)); //o resultado sera a leitura do f
if (resultado == EXIT_SUCCESS && (cf == 'F')) { //se leu tudo certinho, vai imprimir
resultado = EXIT_SUCCESS;
}
}
}
return resultado;
}
示例9: ler
int ler() {
char ci, cf;
// realizar a leitura do caractere 'I' (Inicio)
int resultado = com.ler((char*) &ci, sizeof(ci));
if ((resultado == EXIT_SUCCESS) && (ci == 'I')) {
// se a leitura de 'I' ocorrer bem, ler os eixos
resultado = com.ler((char*)&graus, sizeof(graus));
//se a leitura dos eixos ocorrer bem, le o caractere 'F' (Final)
if (resultado == EXIT_SUCCESS) {
resultado = com.ler((char*)&cf, sizeof(cf));
if ((resultado == EXIT_SUCCESS) && (cf == 'F')) {
resultado = EXIT_SUCCESS;
}
}
}
return resultado;
}
示例10: ler
int ler() {
char ci, cf; //
//ler o caractere 'I' no inicio
int resultado = com.ler((char*) &ci, sizeof(ci));
if ((resultado == 0) && (ci == 'I')) {
//ler os dados
resultado = com.ler((char*) &Dados, sizeof(Dados));
if (resultado == 0) {
//ler o caractere 'F' no final
resultado = com.ler((char*) &cf, sizeof(cf));
if ((resultado == 0) && (cf == 'F')) {
resultado = 0;
}
}
}
return resultado;
}
示例11: lerSensores
int lerSensores() {
int sensores = -1;
char ci=0, cf=0;
int resultado = com.ler(&ci, sizeof(char));
if ((resultado == EXIT_SUCCESS) && (ci == 'I')) {
int is = 0;
resultado = com.ler((char*) &is, sizeof(is));
if (resultado == EXIT_SUCCESS) {
resultado = com.ler(&cf, sizeof(char));
if ((resultado == EXIT_SUCCESS) && (cf == 'F')) {
sensores = is;
}
}
}
return sensores;
}
示例12: ler
int ler() {
char ci, cf;
// enquanto estiver executando...
// realizar a leitura do caracter I (inicio)
int resultado = com.ler((char*) &ci, sizeof(ci));
if ((resultado == EXIT_SUCCESS) && (ci == 'I')) {
// se a leitura de I ocorrer bem, ler os eixos
resultado = com.ler((char*) &eixos, sizeof(eixos));
if (resultado == EXIT_SUCCESS) {
// se a leitura dos eixos ocorrer bem ler o carcter F Final
resultado = com.ler((char*) &cf, sizeof(cf));
if ((resultado == EXIT_SUCCESS) && (cf == 'F')) {
// se tudo for atendido, exibir os eixos do acelerometro
resultado = EXIT_SUCCESS;
}
}
}
return resultado;
}
示例13: finalizar
int finalizar() {
return com.finalizar();
}
示例14: finalizar
int finalizar(){
return com.finalizar(); //Finaliza a conecção
}