splitti li spazi...Originariamente inviato da ClaudioMalorgio
Si appunto, utilizzo un modem digicom e i suoi comandi AT, quello del segnale è solo un esempio..
per ora ho cambiato la funzione ReceivedText in modo tale da avere un return del testo che mi arriva dalla seriale, ora mi manca solo il tassello del confronto ... cioè ho tutta la stringa di risposta (per esempio "AT+CSQ +CSQ 22,0 OK") è solo che ora devo capire come gestirla nel senso che il primo pezzo posso ignorarlo "AT+CSQ" il secondo mi serve il "22,0" e il terzo pezzo "OK" mi serve per stabilire se il dialogo è avvenuto correttamente ...![]()
![]()
![]()
ma il problema è che vuoi implementare tanti comandi?
se si tratta di pochi comandi potresti pensare di elaborarli singolarmente trattoli in maniera specifica uno per uno, tipo in questo caso facendo uno split degli spazi ecc., facendo così il codice si allunga (scrivi in maniera "procedurale"), ma è semplice implementarli nel codice, se invece si tratta di tanti comandi, magari che possono cambiare (tipo da device a device) e che magari devono essere lanciati da diverse fonti simultaneamente (tipo web o servizio windows ecc.) allora il discorso cambia... diventerebbe ingestibile, quindi dovresti incominciare a pensarlo diversamente.
in un mio progetto, i comandi li ho resi indipendenti, nel senso che svolgevano il loro compito per la quale erano stati progettati (accodandosi), indipendemente dal codice che li lanciava (come capsule sparate, facevano botta e risposta da soli), restituendo o chiamando una specifica funzione di risposta quando terminato.
ad esempio in questo caso, una capsula avrebbe aperto la porta, scritto il comando, ottenuto la risposta, gestito eventuali errori, elaborato la funzione, e, in maniera asincrona, fornito il nome dell'immagine corretta al codice che ha lanciato il comando, tutto senza che il codice che la lancia interagisca con la com.
ma forse non ho ancora capito quale sia il tuo problemain questo caso mi scuso e ti chiedo lumi...

), restituendo o chiamando una specifica funzione di risposta quando terminato.
in questo caso mi scuso e ti chiedo lumi...
Rispondi quotando