Autor Tema: Supervisar programa en circuito mientras funciona  (Leído 1109 veces)

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

Desconectado stiventronic

  • PIC10
  • *
  • Mensajes: 5
Supervisar programa en circuito mientras funciona
« en: 10 de Marzo de 2020, 23:09:14 »
Con las muy buenas noches, les cuento un poco, me ocupo actualmente en brindar soluciones aplicadas en temas energéticos, domoticos e inmoticos, actualmente estoy dando soporte ante una solución doméstica con un equipo de puerta corrediza, controlada con un micro-controlador de microchip, he integrado dispositivos como PLC y se que en la interfaz se puede conectar en linea y observar el comportamiento del programa y su interacción con sus entradas y salidas de su entorno físico externo.

Mi pregunta es si en los microcontroladores se podría observar de igual manera la interacción del programa en linea con la periferia externa, he investigado un poco y me encuentro con un método denominado debugging, aunque deseo recibir las opiniones de los expertos que se encuentran en este foro ! ... de antemano gracias.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Supervisar programa en circuito mientras funciona
« Respuesta #1 en: 11 de Marzo de 2020, 00:05:47 »

Puedes usar el Debug de toda la vida, eso lo tienen todos los entornos de desarrollo y lo soportan prácticamente todos los microcontroladores. Pero mucho mejor usar el printf(), para derivar mensajes y valores de variables a la consola del entorno, así puedes verlas en tiempo de ejecución sin necesidad de interrumpir el programa.

Hace mucho que dejé de usar los PIC de Microchip, ya solo trabajo con ARM, pero imagino que podrás hacer lo mismo con MPLABX.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Supervisar programa en circuito mientras funciona
« Respuesta #2 en: 11 de Marzo de 2020, 07:03:53 »
Citar
se que en la interfaz se puede conectar en linea y observar el comportamiento del programa y su interacción con sus entradas y salidas de su entorno físico externo.

No vas a encontrar algo parecido a eso... Me refiero a tan gráfico como en un PLC.


Si podes hacer DEBUG.Pero debido a la velocidad que se manejan los micros, en el DEBUG vas a tener que detener la marcha para poder ver el estado de alguna entrada o salida. Perdiendote si es que cambia algo y no paraste a revisar...

Si solo queres informarte de algunas cosas nomas, lo que te conviene es proveerle alguna salida, sea UART/RS232/USB etc... Donde puedas recibir mensajes con lo que te interese a la velocidad que te interese. Y hacer lo que dijo planeta, crear un "printf" o si lo posee usarlo, para sacar esos datos por cualqueir protocolo que gustes. Lo mas sencillo es una UART + un conversor UART-USB a una notebook (si es que es remoto el lugar).

Luego la salida podria ser (cada 500ms por ejemplo):
 
Citar
Entrada : 1 , Salida : 0 , Posicion : 100
Entrada : 1 , Salida : 0 , Posicion : 150
Entrada : 1 , Salida : 0 , Posicion : 200
Cambio de entrada a 0
Entrada : 0 , Salida : 1 , Posicion : 250


 

anything