Autor Tema: tecnicas para optimizar procesos del pic  (Leído 2029 veces)

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

Desconectado rasengan04

  • PIC10
  • *
  • Mensajes: 11
tecnicas para optimizar procesos del pic
« en: 23 de Septiembre de 2019, 19:51:28 »
Buenas:
me gustaría saber como optimizar un control en un pic.
uso comunicación RS232, I2C (para leer unos sensores), también requiero el uso de un timer como temporizador (lo configure para que se desborde cada 1ms) pero con las comunicaciones se atrasa, yo tengo que leer los sensores min cada 5ms pero el tiempo total de lectura son 12ms(lo comprobé con un osciloscopio) , luego por e rs232 tengo que enviar los datos del sistema para mostrarlos en una interfaz lo que hace que el sistema de atrase mas, hay alguna manera de evitar eso??? ya le doy prioridad a la interrupción del timer.

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 165
Re:tecnicas para optimizar procesos del pic
« Respuesta #1 en: 24 de Septiembre de 2019, 04:20:43 »
Hola, si puedes configurar el preescaler de tal manera que internamente cada 1ms aumente hasta que se desborde el timer evitaras la interrupción del timer y solo tienes que leer el valor del timer cada vez que se desborde después de muchos segundos.
Es raro que seas capaz de hacerlo coincidir  por lo tanto esa idea es difícil pero bueno, posible es...

Por lo demás te propongo que subas tu código para que veamos por donde puedes optimizar todo esto, lo único que se me ocurre es que saques todo lo que no sea estrictamente necesario de las interrupciones porque sino no vas a poder hacer otra cosa, partiendo de la base que dices que has dado prioridad máxima a la interrupción del timer.
Pd. Estoy dando por hecho que tienes tu micro trabajando al máximo de velocidad posible.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:tecnicas para optimizar procesos del pic
« Respuesta #2 en: 24 de Septiembre de 2019, 05:00:09 »
Buenas:
me gustaría saber como optimizar un control en un pic.
uso comunicación RS232, I2C (para leer unos sensores), también requiero el uso de un timer como temporizador (lo configure para que se desborde cada 1ms) pero con las comunicaciones se atrasa, yo tengo que leer los sensores min cada 5ms pero el tiempo total de lectura son 12ms(lo comprobé con un osciloscopio) , luego por e rs232 tengo que enviar los datos del sistema para mostrarlos en una interfaz lo que hace que el sistema de atrase mas, hay alguna manera de evitar eso??? ya le doy prioridad a la interrupción del timer.

Cuantos sensores son los que tienes que leer?
Cuales son los sensores en cuestión?
Cuantos datos transmites vía rs232 y cuál es el baud rate que usas?

elreypic
« Última modificación: 24 de Septiembre de 2019, 10:06:00 por elreypic2 »


 

anything