Rete Wirless (MIWI o WIFI) e schede adatte per uso industriale (tipo ESP8266)

8 Anni 7 Mesi fa #16 da Elby
Mettendo un oscillatore esterno da 18430K riesco a visualizzare più dati ma non tutti perchè tra l'elaborazione itoa e la visualizzazione su display dopo un po "si perde". Per ovviare a questo devo prima memorizzare i dati che voglio visualizzare su un array DATA_RX e voi visualizzare con calma (no real time :lol: ).
Ispirandomi al progetto "Progettare sistemi domotici per mezzo di moduli GSM" presente sul sito ho estratto una parte di codice che però non so se è corretta nella paste relativa al puntatore *Stringa_Confronto.


Quando arriva una stringa di caratteri dal modulo ESP8266 con ATE0 (nessun eco) si ha qualcosa del tipo:

\r \n + I P D , 2 : ...............

Quello che vorrei fare è dal ":" in poi memorizzare tutto in un array DATA_RX che poi potrò elaborare a piacimento.
Per fare questo, la stringa Data_Usart di Rx caratteri arrivata e memorizzata (in una funzione a parte) va analizzata per sapere se sono dati (se vi è "+IPD") e per fare questo ho creato una funzione generica chiamata Verifica_Porzione_Stringa.

In pratica la funzione Verifica_Porzione_Stringa deve controllare che, a partire dalla posizione "Inizio" fino a quella "Fine", che i caratteri coincidano tutti con quelli della stringa "Striga_Confronto". Se coincidono tutti restituirà zero, altrimenti restituirà 1 indicando quindi l'errore.

unsigned char Verifica_Posizione_Stringa(char Inizio, char *Stringa_Confronto, char Fine)
{unsigned char posizione_stringa_confronto=0;
unsigned char posizione_carattere=0;
for (posizione_carattere=Inizio; posizione_carattere<=Fine; posizione_carattere++)
{if (Data_Usart[posizione_carattere]!=Stringa_Confronto[posizione_stringa_confronto])
{return(1);
}
posizione_stringa_confronto++;
}
return(0);
}


Questa verrà poi utilizzata per individuare se vi è "+IPD" nel seguente modo:

if (Verifica_Porzione_Stringa (3, (char*) "+IPD", 6) != 1)
{.....
.....
}

Funzionerà in XC8?

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Elby
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login