Autor Tema: 18f2550 usb+usart SW baja la velocidad  (Leído 1647 veces)

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

Desconectado varito

  • PIC10
  • *
  • Mensajes: 2
18f2550 usb+usart SW baja la velocidad
« en: 28 de Enero de 2010, 09:00:19 »
Hola a todos!

 Tengo un problema que me trae de cabeza a ver que os parece:

 Configuro un puerto del 18f2550 por software a 187500 baudios y además utilizo las librerias de CCS para el uso del USB.
Me he dado cuenta que los bytes enviados por el puerto no viajan a 187500 sino que se reduce la velocidad a menos de 180000 mirado con un osciloscopio.

 Y aqui viene lo curioso del tema: Esto pasa si utilizo si declaro variables grandes en el codigo, si no lo hago la velocidad de transmision es correcta. Y si no cargo las librerias del usb tambien funciona correctamente. Raro no?
Os pego el código:

----------------------------------------
#include <18F2550.h>
#fuses HSPLL,NOWDT,PROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN,CPD,CPB
#use delay(clock=48000000)
#use standard_io(c)
#use fast_io(b)

 #include <usb_cdc.h>
 #include <pic18_usb.h>

char datos[128];

 void main()
 
 {
  #use rs232(baud=187500,xmit=pin_c1,stop=1,parity=e,stream=com_sw)
    do
 {
      fputc(0x93,com_sw);
      delay_ms(1000);
 }
 while (true);
  }


-------------------------
 
 Este código ralentiza la salida de datos, ahora bien cambiamos  "char datos[128] por "char [10]" la velocidad de transmision es correcta.

 No le veo ni pies ni cabeza, pensaba que igual al activar el USB la gestion de rutinas del usb por interrupción ralentizaría los delays que generara el compilador para realizar el puerto serie por software, pero como veis no he activado el USB en el código, solo he cargado las librerias.

 Que tiene que ver la cantidad de ram ocupada con la velocidad de transmision?

 Gracias de antemano y un saludo.


 




 

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: 18f2550 usb+usart SW baja la velocidad
« Respuesta #1 en: 28 de Enero de 2010, 09:09:06 »
¿Has probado a compilarlo en distintas versiones de CCS?
Ese tipo de cosas raras pueden deberse a un bug.

Desconectado varito

  • PIC10
  • *
  • Mensajes: 2
Re: 18f2550 usb+usart SW baja la velocidad
« Respuesta #2 en: 28 de Enero de 2010, 10:20:17 »
Hola,

 Utilizo la version 4.065 y ahora mismito acabo de instalar la version 4.093, y sorpresa... en este caso el codigo escrito mas adelante de repente funciona correctamente sin embargo al hacerlo con el resto del programa (mas variables y consumo de ram), ocurre lo mismo  :(  .

 Suena a bug verdad?

 He probado a generar mi propia rutina con mis propios delays y parece que funciona, al final será la solución.

 Eso si, he ganado una cosa al actualizar a la versión 4.093 y es que al compilar se reduce un montón el consumo de ram. Ya hay un genial articulo que habla de ello de todas maneras.

 Saludos.


 

anything