Problemi comunicazione RS232

13 Anni 8 Mesi fa #6 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Problemi comunicazione RS232
Ciao,

non ho capito bene.

Dici prima che hai fatto come ti ho consigliato e non hai ottenuto miglioramenti.
Poi dici di aver fatto quanto consigliato e ha funzionato.

Non ho ben capito cosa ha funzionato e non funzionato.

Saluti,


Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
13 Anni 8 Mesi fa #7 da Kermit_66
Risposta da Kermit_66 al topic Re: Problemi comunicazione RS232
Hai ragione mi sono spiegaro male... le 2 risposte trattano due problemi separati...
la prima risposta tratta il problema della sincronizzazione della rs232, dove per farla funzionare ho modificato SPBRG da 64 a 25 e ho usato l'hiper terminal a 4800 bps.
Applicando la formula per determinare la velocità di connessione
Asynchronous mode, high speed: FOSC / (16 * (spbrg + 1))
- trovata a pag 59 del file allegato - ottengo 48077 bps ben 10volte superiore ai 4800 bps.
Mentre il secondo problema riguardava la programmazione dei micro usando il file .hex tramite PICkit 2 programmer.
Secondo tuo suggerimento ho modificoto la Configuration Word e difatti ora il programma funziona.
Ho notato che le modifiche da apportare solitamente riguardano le prime 2 coppie di byte...

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

  • Kermit_66
  • Avatar di Kermit_66
  • New Member
  • New Member
Di più
13 Anni 8 Mesi fa #8 da Kermit_66
Risposta da Kermit_66 al topic Re: Problemi comunicazione RS232
Il file allegato è troppo grande ti invio la sezione in questione... è stata presa dal file 51297c.pdf scaricato dal sito Microchip.

* Applies to Synchronous mode only
spbrg
This is the value that is written to the baud rate generator register which
determines the baud rate at which the USART operates. The formulas
for baud rate are:
Asynchronous mode, high speed:
FOSC / (16 * (spbrg + 1))
Asynchronous mode, low speed:
FOSC / (64 * (spbrg + 1))
Synchronous mode:
FOSC / (4 * (spbrg + 1))
Where FOSC is the oscillator frequency.

Grazie...

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

  • Kermit_66
  • Avatar di Kermit_66
  • New Member
  • New Member
Di più
13 Anni 7 Mesi fa #9 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Problemi comunicazione RS232
Ciao,

ho ricontrollato le formule e i conti mi tornano.

Hai correttamente scelto la formula

baud Rate = FOSC / (16 * (spbrg + 1))

che nel caso dell'esempio presentato sul testo, avendo un quarzo a 20MHz e spbrg posto a 64 si ha:

baud rate = 20 000 000 / (16 * (64 +1))

ovvero

baud rate = 20 000 000 / (1040) = 19230 bit / s

che è appunto il baud rate 19200 bit/s con un errore percentuale dello 0.16% .

Come detto per far funzionare correttamente il modulo devi accertarti di programmare il PIC dal progetto, al fine di non perdere le configurazioni del PIC stesso.

Saluti,

Mauro
Ringraziano per il messaggio: Kermit_66

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
13 Anni 7 Mesi fa #10 da Kermit_66
Risposta da Kermit_66 al topic Re: Problemi comunicazione RS232
Ciao, nonostante tutto avevo ancora problemi di comunicazione con la RS 232, non riuscivo a comunicare con velocità superiore a 4800bps... ma ho risolto il problema, che non era sw ma hw.
Difatti mi sono accorto d'aver montato un quarzo non da 20 Mhz ma da 2Mhz... ne ho recuperato uno da un vecchio HDD ed ora tutto funziona perfettamente... :oops: che figuraccia...

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

  • Kermit_66
  • Avatar di Kermit_66
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login