Libreria C18 <usart.h>

9 Anni 8 Mesi fa #1 da Alex73
Libreria C18 <usart.h> è stato creato da Alex73
Ciao a tutti,
se nonostante il periodo in cui normalmente ci si dedica al riposo assoluto c'è ancora qualcuno online, chiederei un aiuto riguardo la libreria C18 <usart.h> in particolare relativamente al parametro USART_SINGLE_RX e USART_CONT_RX (ricezione singola e multipla), che vantaggi ho impostandolo come singola oppure come multipla ? Negli esempi descritti nel "C18 Step by Step" noto che tale parametro viene sempre impostato come ricezione multipla. In buona sostanza non ho le idee chiare su cosa possa servire il parametro in questione.

Grazie,
Ale

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

  • Alex73
  • Avatar di Alex73
  • Senior Member
  • Senior Member
Di più
9 Anni 8 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Libreria C18 <usart.h>
Ciao Alex,

...tornato dalle vacanze riprendo tutto piano, piano.

Relativamente alla configurazione USART_SINGLE_RX e USART_CONT_RX il significato e' diverso a seconda che tu stia in modalità asincrona o sincrona.

Gli esempi che ho nel testo sono tutti in modalità asincrona.

In questo caso USART_SINGLE_RX equivale a disattivare il modulo RX mentre USART_CONT_RX lo attiva.
Per tale ragione negli esempi scrivo USART_CONT_RX.

In particolare il datasheet riporta per il bit 4 CREN del registro RCSTA:

CREN: Continuous Receive Enable bit

Asynchronous mode:
1 = Enables receiver
0 = Disables receiver

Synchronous mode:
1 = Enables continuous receive until enable bit CREN is cleared (CREN overrides SREN)
0 = Disables continuous receive

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 7 Mesi fa - 9 Anni 7 Mesi fa #3 da Alex73
Risposta da Alex73 al topic Libreria C18 <usart.h>
Grazie Mauro,
sono tornato anche io da un periodo di vacanza ed ho letto la tua esauriente risposta. Ora che ho capito direi che effettivamente quel parametro non ha molta utilità se non, forse, per qualche particolare applicazione. La mia domanda era sorta perchè non riuscivo a far funzionare una sessione di ricezione con USART su di un codice che avevo scritto, ma poi con calma ho scovato il baco e tutto ha preso a funzionare.
Grazie,
Alex
Ultima Modifica 9 Anni 7 Mesi fa da StefA.

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

  • Alex73
  • Avatar di Alex73
  • Senior Member
  • Senior Member
Di più
9 Anni 7 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Libreria C18 <usart.h>
Diciamo che il paramentro deve essere contestualizzato alla modalita´ che si sta usando.
Nel caso specifico, in modaltita' asincrona, e´ come un enable per cui scrivere USART_SINGLE_RX equivarrebbe a disattivare il modulo RX e il programma non funzionerebbe. Per tale ragione e' necessario scrivere USART_CONT_RX.

Saluti,

Mauro
Ringraziano per il messaggio: Alex73

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
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