Go Down

Topic: Exception (28) no ESP8266 (Read 131 times) previous topic - next topic

renancandido

May 18, 2018, 08:17 pm Last Edit: May 19, 2018, 01:01 am by surbyte
Esse código da Exception (28) no ESP8266 alguem poderia me ajudar a saber o por ?
O ele faz a leitura de uma pag Httml com informações de um cotrolador da ISSO tecnologia e manda para um display Proculus.



code:
Code: [Select]
void Tratamento(String sTring, int Loop_Do) //recebe um texto de resposta do DMI
{
//Serial.println("355");
uint8_t Y = sTring.indexOf("["); //Serial.println(Y);// identifica a primeira aparição do simplo '[' e retorta o valor da sua posição
 //Serial.println("357");
 uint16_t Z = sTring.lastIndexOf("]"); //Serial.println(Z);// identifica a ultima aparição do simplo ']' e retorta o valor da sua posição
//Serial.println("358");
URL = sTring.substring(Y + 1, Z);// Serial.println(URL); //retorna o texto  presente enetre as cordenadas de posições  
//Serial.println("361");
URL += ",";// adiciona virgula no fim da variavel URL para facilitar o tramento das informações
//Serial.println("363");
for (uint8_t xi_I = 0; xi_I <Loop_Do; xi_I++)// realiza um loop para que todas as informções no texto sejam tratadas e salvas
{
yield();
//Serial.println("367");
sequencia(URL,Loop_Do);
//chama o void sequencia
}
indexURL = 0; //zera a variavel resposavel por alocar as informções na posição correta

}
void sequencia(String D,int Looop)//recebe o Texto com pre tramento
{
//Serial.println("374");
uint16_t ValorInteriro; //valor as ser armazenado
uint8_t F = D.indexOf(","); //Serial.println(F); //indica o valor da posição da primeira vigurla
uint16 V = D.length();// Serial.println(V);
//Serial.println("377");
String Valor_em_formato_de_texto = D.substring(0, F); //retira o valor da primera virgula
//Serial.println("379");
if (Valor_em_formato_de_texto == "null") //se o valor for null escreve zero por parametrizão
{
Valor_em_formato_de_texto = "0";
// Serial.println("383");
}
//Serial.println("385");
float Valor_em_decimal = Valor_em_formato_de_texto.toFloat();// Serial.println("388"); //coverte o valor de String pra float
if (Valor_em_decimal != int(Valor_em_decimal))//verifica se o valor float é inteiro ou possui decimal
{
// Serial.println("389");
ValorInteriro = (Valor_em_decimal * 100); // expõe duas casas decimais do valor ex: 1,123 fica igual a 112,3
}
else
{
//Serial.println("394");
ValorInteriro = int(Valor_em_decimal);//converte o valor decimal pra inteiro de modo que possa seu enviado para o display
}
//Serial.println("398");

BufferURL[indexURL] = ValorInteriro;//guarda o valor converdido em um vetor que posteriormente sera enviado ao display
//Serial.println("401");
indexURL++; //implementa a possição que o valor ira ser guardo do no vetor
//Serial.println("403");
if (((F+1)<D.length()) && (indexURL < Looop))
{
URL = D.substring(F + 1,V );// retira o valor trado do texto para que o proximo valor seja tratado
//Serial.println("405");
}
//Serial.println(URL);
}


Moderator:Code tags added

bubulindo

Podes colocar a mensagem de erro completa, por favor?
This... is a hobby.

Go Up