- Messaggi: 131
- Ringraziamenti ricevuti 0
ricevere dati via USART
certamente dopo che hai ricevuto il Byte puoi inserire qualsiasi istruzione di controllo.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
gcupini ha scritto: ciao
certamente dopo che hai ricevuto il Byte puoi inserire qualsiasi istruzione di controllo.
Quindi recapitolando ricevo i byte li salvo e poi li controllo tutti e scelgo cosa fare
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luongo
- Autore della discussione
- Premium Member
Hai più alternative a disposizione:
1) (PRIMA) come hai detto tu puoi salvare tutti i byte ed alaborarli alla fine della ricezione, è sottinteso che il flusso principale del tuo programma deve essere in attesa dei caratteri in arrivo e avere il tempo di memorizzarli prima che arrivi un nuovo carattere.
2) (SECONDA) pui analizzare ogni byte quando arriva ed effettuare scelte logiche immediate. S'intende che i tempi di spedizione dei singoli byte (da parte di PIC1) devono tener conto del tempo di ricezione ed elaborazione di ciascun Byte(da parte di PIC2). Per intenderci (se sviluppi il codice di ricezione nel main program di PIC2) e se PIC1 invia un byte con l'istruzione [con putch(char)] allora il codice di PIC2 deve essere in attesa sull'istruzione simmetrica [getch()]. Se il tuo PIC2 sta lavorando per testare il precedente carattere che ha ricevuto (o altro) rischi di perdere il carattere in arrivo.
3) (TERZA) spesso se si devono eseguire elaborazioni cicliche su PIC2, indipendenti dalla ricezione, allora è opportuno usare l'interrupt su ricezione di un carattere. In questo caso il flusso di eleboraziane principale (di PIC2) viene "sospeso" quando si ha la ricezione di un carattere (provenienente da PIC1) fino a quando la ricezione non è terminata e il flusso ritorna al main program.
Se non sono stato chiaro informami. forse sarebbe meglio ti scrivessi due spezzoni di codice c.
buon lavoro
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
gcupini ha scritto: ciao
Hai più alternative a disposizione:
1) (PRIMA) come hai detto tu puoi salvare tutti i byte ed alaborarli alla fine della ricezione, è sottinteso che il flusso principale del tuo programma deve essere in attesa dei caratteri in arrivo e avere il tempo di memorizzarli prima che arrivi un nuovo carattere.
2) (SECONDA) pui analizzare ogni byte quando arriva ed effettuare scelte logiche immediate. S'intende che i tempi di spedizione dei singoli byte (da parte di PIC1) devono tener conto del tempo di ricezione ed elaborazione di ciascun Byte(da parte di PIC2). Per intenderci (se sviluppi il codice di ricezione nel main program di PIC2) e se PIC1 invia un byte con l'istruzione [con putch(char)] allora il codice di PIC2 deve essere in attesa sull'istruzione simmetrica [getch()]. Se il tuo PIC2 sta lavorando per testare il precedente carattere che ha ricevuto (o altro) rischi di perdere il carattere in arrivo.
3) (TERZA) spesso se si devono eseguire elaborazioni cicliche su PIC2, indipendenti dalla ricezione, allora è opportuno usare l'interrupt su ricezione di un carattere. In questo caso il flusso di eleboraziane principale (di PIC2) viene "sospeso" quando si ha la ricezione di un carattere (provenienente da PIC1) fino a quando la ricezione non è terminata e il flusso ritorna al main program.
Se non sono stato chiaro informami. forse sarebbe meglio ti scrivessi due spezzoni di codice c.
buon lavoro
Nel PIC1 io eseguo un'acquisizione dall'adc e a seconda di quanto acquisito spedisco un pacchetto di quattro bytes quindi secondo me (se sbagli dillo) è meglio usare la soluzione cge memorizza tutti i bytes e poi li processa e immettere un rtardo di un 100 us nel PIC1 prima dell'acquisizione succesiva
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luongo
- Autore della discussione
- Premium Member
- Messaggi: 131
- Ringraziamenti ricevuti 0
Nel caso illustrato la tua scelta mi sembra corretta.
Saluti
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.