Saudações amigos, estou realizando um programa para meu TCC e estou com um problema.
Consegui realizar a comunicação perfeitamente do Arduino MEGA/Elipse E3, porem, ao adicionar um WHILE na programação, o sofware trava dentro do while e nao consigo sair mais dele, mesmo desativando a condição que eu programei para entrar.
Em baixo segue uma programação de teste, a onde coloquei para ligar 3 LEDS e uma botao de emerg para entrar numa equação.É apenas um programa para testar as funcionalidades do Elipse/arduino
#include <Modbusino.h>
/* Indica o endereço do arduino no sistema /
ModbusinoSlave modbusino_slave(1);
/ Indica quantos tags existem no sistema,na versão demo o maximo é 20 tags */
uint16_t tab_reg[15];
/* Declaração das variaveis do processo /
int botao_led ;
int botao_teste ;
int botao_led2 ; / Definindo a variavel do nosso botão de emergencia */
int botao_emerg;
int equacao;
int a;
void setup() {
/* define a taxa de transferencia do arduino com o elipse, é necessario se configurar na mesma taxa ambos */
modbusino_slave.setup(38400);
/* Define as entradas e saidas dos pinos do arduino */
pinMode(53,OUTPUT); /* Definindo o pino do led como saida */
pinMode(31,OUTPUT); /* Definindo o pino do led como saida */
pinMode(22,OUTPUT);
}
void loop() {
botao_emerg = tab_reg[0];
while (botao_emerg != 0){
a = tab_reg[1];
equacao = a + 50;
tab_reg[2] = equacao;
/* Função que atualiza o modbus */
modbusino_slave.loop(tab_reg, 15);
}
botao_emerg = 0;
botao_teste = tab_reg[3];
if (botao_teste <= 0) digitalWrite (51,LOW);
if (botao_teste >= 1) digitalWrite (51,HIGH);
botao_led = tab_reg[4];
if (botao_led <= 0) digitalWrite (31,LOW);
if (botao_led >= 1) digitalWrite (31,HIGH);
botao_led2 = tab_reg[5];
if (botao_led2 <= 0) digitalWrite (22,LOW);
if (botao_led2 >= 1) digitalWrite (22,HIGH);
/* Função que atualiza o modbus */
modbusino_slave.loop(tab_reg, 15);
}
NOTA: ao colocar o botao de emerg = 1, se os LEDS estiverem ligados, eles nao desligam, e se eu colocar o botao novamente para 0, nao tenho mais controle no processo
Agradeço a todos pela ajuda.