ok ho capito..
la domanda è intelligente invece.
Dunque.. mi sono passato il tempo su quello che tu chiedi, ho fatto una realizzazione usando il PIC 16F876,, ma è lo stesso se usi Arduino.. insomma un PC ha dei tempi che non possono essere utilizzati per produrre un PPM, se proprio volessimo forzare tale sistema intaserebbe il canale di comunicazione .. rendendolo inutilizzabile ..
dunque la faccenda l'ho risolta così, dal Pc devono viaggiare solo i dati di variazione dei segnali... anche se ne cambia uno di essi il PC trasferisce tutti i 7 i segnali, nel caso si trattasse di un 7 canali appunto. Quindi l'ordine di arrivo sarà la destinazione del canel in questione.. Nel Micro occorre creare un sistema di buferizzazione... che in base all'ordine d arrivo destinerà quel segnale al pin di uscita opportuno..
Ogni canale potrebbe essere controllo motori, servi, e qualunque regolazione PWM di un volume..
Poi ovviamente si può realizzare anche un sistema inverso ovvero dai sensori veerso un PC...
con questa logica funziona tutto ho provato e collaudato , spero di aver risposto alla tua curiosità
fausto
Citazione:
Originalmente inviato da riki1681 errore mio, non ho specificato il contesto.
con "codifica" intendevo proprio la definizione del dizionario: "riunire in un codice".
e non mi riferivo ai dati inviati sulla seriale come segnali, ma qualche livello protocollare sopra: ovvero la struttura dei pacchetti dati, la composizione dei frame, il payload, ecc
ergo, via seriale la comunicazione è gestibile tranquillamente con qualunque tipo di linguaggio.
ma un protocollo di comunicazione (inteso come insieme di regole comune tra i due interlocutori che sono due entità ideali, quindi esulando dal mero contesto di comunicazioni digitali) è ben altra cosa.
nel mio caso specifico trasmetto da un pc un insieme di pacchetti ad arduino, che si occuperà poi di convertire le mie istruzioni in segnali PPM.
si tratta quindi di inviare i dati legati a diversi canali.
la comunicazione è a senso unico, arduino non ha nulla da dirmi di "interessante" se non darmi l'ack della ricezione del pacchetto.
e qui sorgono le prime domande:
ma come strutturo l'informazione?
devo specificare un id canale e un valore da convertire.
e che valore scelgo?
in che formato?
e la regolazione dei trim? la includo in maniera trasparente?
e preventivo un id univoco per i pacchetti?
e cosa faccio con i pacchetti non sincronizzati? li reinvio o li ignoro?
ecc, ecc
sempre con l'ottica di contenere il payload, di non incapsulare più di tot volte i dati in altri protocolli, e di assicurare una comunicazione funzionale e con il minor numero di errori.
spero di essermi spiegato al meglio ed aver inquadrato il contesto corretto della mia opinione:
non è importante come gestisci la comunicazione, ma cosa trasmetti. |