Autor Tema: duda con generador de baudios de usart  (Leído 2948 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lolos123

  • PIC12
  • **
  • Mensajes: 53
duda con generador de baudios de usart
« en: 01 de Enero de 2005, 12:44:00 »
A ver si me podéis echar una mano con ésto.

Yo quiero transmitir con usart a 4800 bps que según pone en el libro (Microcontroladores PIC Diseño práctico de aplicaciones Segunda parte PIC16F87x)
es uno de los valores normalizados, pues bien las cuestiones son las siguientes:

- Para obtener el valor x cargado en el registro SPBRG hay una fórmula, pero en el datasheet vienen además unas tablas BAUD RATES FOR ASYNCHRONOUS MODE (BRGH = 0) y BAUD RATES FOR ASYNCHRONOUS MODE (BRGH = 1) y los 4800 solo aparecen una vez: en fosc=20MHz y  BRGH=1 aparece  HIGH 4.883 - 255
 
 ¿Sólo se pueden obtener los 4800 haciendo caso de la tabla a 20 MHz cargando el valor 255 o es un error de las tablas?.

Si es un error, uso la formula y listo ¿no es así?.

¿que cristal le pondríais si en un caso voy a recibir a 4800 y a transmitir a 330 y en otro al revés recibo a 330 y transmito a 4800 ?

No se si me he liado un poco pero en fin , espero respuestas.

Gracias por vuestro tiempo.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: duda con generador de baudios de usart
« Respuesta #1 en: 01 de Enero de 2005, 19:16:00 »
Feliz año nuevo
Yo tengo esta formulita para calcular la velocidad < Baudios = Fosc/(n(X+1) >
Donde X es lo que quieres y n = 4.
Y si quieres saber el error  por ejemplo a 16Mhz de 9.600 < Baudios = 16Mhz/(64(25+1)) = 9.615 Baudios>

En la teoria esto funciona ya que yo no la he utilizado por que mi lenguaje de programación me hace todos estos calculos de forma automatica...
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: duda con generador de baudios de usart
« Respuesta #2 en: 01 de Enero de 2005, 20:10:00 »
perdon me equivoque...
para BRGH=0 -> n = 64, yo utilizo este
para BRGH=1 -> n = 16
Saludos desde Granada, España.

Desconectado lolos123

  • PIC12
  • **
  • Mensajes: 53
RE: duda con generador de baudios de usart
« Respuesta #3 en: 02 de Enero de 2005, 10:13:00 »
Feliz año para ti también  y gracias por responder.

En efecto esa fórmula es la que viene en el libro, lo que me llevaba a la duda eran las tablas.Por cierto que lenguaje usas que lo hace automático.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
RE: duda con generador de baudios de usart
« Respuesta #4 en: 02 de Enero de 2005, 13:00:00 »
Pues utilizo el PIC BASIC de http://www.oshonsoft.com/
Que es una herramienta “para mi entender” muy buena para introducirse de una forma rapida y sencilla en el aprendizaje del ASM, ya que te genera un codigo en ASM muy optimizado y con algunos comentarios de forma automatica para que te sea mas facil interpretarlo...
Te puedes bajar la demo y si quieres por 19 euros te da la licencia para utilizar en mono puesto..., ademas tiene unos esquemas de montajes básicos que funcionan perfectamente y cosa buena si le preguntas algo te contesta seguro... en ingles claro...
Aqui tienes un ejemplo para 8Mhz

;       Baud rate error: 15 (.156%)
   BSF STATUS,RP0
   MOVLW 0x0C -> este es el factor de correccion X
   MOVWF SPBRG
   BSF TRISC,6
   BSF TRISC,7
   MOVLW 0x20
   MOVWF TXSTA
   BCF STATUS,RP0
   MOVLW 0x90
   MOVWF RCSTA

--------------------------------------
como puedes ver con esta información que genera el compilador puedes estudiar la info de la hoja de características...

a otra cosa soy usuario registrados, vamos que he pagado la licencia....

Saludos desde Granada, España.


 

anything