Discussione: Pic e GSM
Visualizza messaggio singolo
Vecchio 12 gennaio 12, 16:35   #21 (permalink)  Top
faustog_2
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ok

.... sono andato a leggere il datasheet

allora
Fosc=16.000.000
baud Rate = 115.00 = _______________
16( X +1)

per cui



1 16 * X + 16
__________ =__________________
115.200 16.000.000


16.000.000
__________ - 16 = 16 * X
115.200
16.000.000
_____________ - 16
115.200
HBRG X= ___________________ = 7.68
16


ma deve essere un numero intero quindi 8

però in realtà se facciamo gli stessi calcoli usando 4.000.000 e un baud rate di 9600

X = 25,04 che arrotondato con 25 rappresenta un dato quasi esatto, con una differenza meno di 0.06 in questo caso invece abbiamo uno scarto di
0.32 , ben più grande... forse e ripeto fors,e potrebbe essere meglio usare un 20 Mhz magari otteniamo un' arrotondamento meno aggressivo?

faccio una prova...


Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Basta usare la formula appropiata per settare il registro del divisore SPBRG, avendo cura di settare anche il birt BRGH.

la formula è: Baud Rate = FOSC/(16 (X + 1))

risolta per X: X=((FOSC/Baud Rate)/16) - 1

nel caso di FOSC = 16MHz e Baud rate = 115.200 avrai SPBRG = 8 ( errore di br accettabile, divisore teorico sarebbe 7,68)

Se hai FOSC = 4 MHz non puoi usare i 115.200 Baud.

faustog_2 non è collegato   Rispondi citando