Autor Tema: Tiempo de ejecución fputc() para cumplir tiempos entre palabras  (Leído 2017 veces)

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

Desconectado Manel28

  • PIC10
  • *
  • Mensajes: 23
Hola buenas,
estoy diseñando un programa en CCS con el 18f8722 y simulando con proteus isis. El problema que tengo es acerca de los tiempos de ejecución de fputc ya que cada byte que saca el fputc en el siguiente bucle tiene un retarddo considerable con respecto al anterior byte y en mi caso el tiempo entre estos bytes que se envian debe ser inferior a 700microseg. El desarrollo resumido es este:

for(i=0;i<=lenbuff-1;i++)                  
 fputc( buff,dirCamara );

despues de sacar por un pin de salida de una UART el primer byte del bucle tarda aproximadamente 1 ms hasta sacar el segundo. He intentando aumentar la frecuencia del reloj de cristal hasta 20MHz para que se cumpla que entre bytes hay max 700 microsegundos pero los datos tiempos de ejecución que me da proteus no cambian mucho.. pensaba que la idea de aumentar el reloj funcionaría. Alguna sugerencia?

Saludos

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tiempo de ejecución fputc() para cumplir tiempos entre palabras
« Respuesta #1 en: 02 de Junio de 2010, 12:08:19 »
Eso depende de la velocidad de transmisión que estas usando, a 9600 Baud no lo vas a lograr nunca  :mrgreen: Pues se coloca el dato a enviar en el registro correspondiente en el módulo UART y se espera a que sea enviado, o sea el bit de stop. Aumentando la velocidad ya se soluciona el problema.


Saludos!
No contesto mensajes privados, las consultas en el foro