Sto cercando di integrare un'interfaccia di comando in un progetto che sto realizzando che accetterà comandi tramite seriale da un PC.
L'idea è che il dispositivo farà la sua cosa ma viene inviato un comando, lo eseguirà. Questo è diverso dalla maggior parte degli esempi che sono riuscito a trovare che è solo un dispositivo inattivo in attesa di dati seriali.
Ad esempio, un dispositivo che controlla i LED e riproduce un'animazione. Diciamo che ci sono 3 animazioni preimpostate e quando si accende riproduce sempre il numero 1. Sul lato PC invierei un comando 'gioca preimpostazione 2' o 'cambia colore in verde' o invio di un'animazione in tempo reale dal vivo al dispositivo per giocare sui LED.
Quindi la mia domanda è che non riesco a trovare molte informazioni su questo "modello di progettazione"? Non so da dove cominciare a cercare. Il più vicino che sono venuto è librerie di analisi seriale arduino pre-fatte. Tuttavia, sto cercando altro approccio C / non arduino / teorico.
Ho esaminato i protocolli seriali ma sono solo cose come SPI, I2C ecc., Non in realtà come implementare un'interfaccia controllo / comando nel software.
Ho anche scoperto HDLC, anche se sembra essere più uno standard / un protocollo. Un thread simile è /programming/1445387/how-do-you-design-a-serial-command-protocol-for-an-embedded-system Che ha delle informazioni molto belle ma che deve fare ancora con il protocollo / comunicazione stesso.
Sto cercando di trovare come codificare / implementare questo per creare un'abilità di comando o controllo.
Uso un ciclo infinito per monitorare e rilevare il seriale per un comando in arrivo e utilizzare un elenco di istruzioni IF per scegliere quale comando eseguire, ma poi cosa succede quando nessun comando e il sistema dovrebbero essere normali, o se manca un comando?
Interruzione guidata, macchina a stati?
Esiste un nome ufficiale per questo che può essere utilizzato per ricercare e trovare esempi?
MODIFICARE:
Per chiunque abbia la stessa domanda, ho trovato questo esempio davvero carino durante la ricerca, http://www.adnbr.co.uk/articles/parsing-simple-usart-commands