Autor Tema: Como activar interrupción por "fin de conversión AD"?  (Leído 657 veces)

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

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 137
Como activar interrupción por "fin de conversión AD"?
« en: 18 de Abril de 2024, 21:30:33 »
No consigo activar la interrupción  Por fin de conversión A/D.
He pinchado todo y no anda. Lo hice con el 16F676 y con 12F675, igual no anda.
Alguien por favor ajuda?

Desconectado Aaronsanchez

  • PIC10
  • *
  • Mensajes: 17
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #1 en: 18 de Abril de 2024, 23:40:43 »
que versión estas usando y si puedes mandar tu npl para checarlo

Desconectado Aaronsanchez

  • PIC10
  • *
  • Mensajes: 17
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #2 en: 19 de Abril de 2024, 00:04:56 »
estoy usando la 6.6.2 y estoy checando y si efectivamente hay un error y no aparece como activar la interrupcion y tambien no me dejo la interrupcion con eeprom y tambien lo cheque en el 4550 y de igual no aparece la interrupcion puede ser algo en niple pero a ver si contesta fer para checar si a el tambien le pasa lo mismo

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #3 en: 19 de Abril de 2024, 14:36:14 »
Hola amigos,

Creo recordar que estas interrupciones las configura Niple de forma automática cuando son utilizados los módulos AD o EEprom.

Dentro de las opciones de configuración de las interrupciones aparecen apagadas y según me indicaron de Niple, se dejo asi para tener compatibilidad con versiones anteriores de Niple y que esta ventana pueda ser usadas en las versiones anteriores sin tener que disponer de otra configuración distinta.

No obstante lo voy a volver a consultar.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #4 en: 19 de Abril de 2024, 15:09:47 »
Fidel,
¿Que versión de Niple tienes?
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #5 en: 20 de Abril de 2024, 03:07:28 »
Respuesta de Niple:
Esas interrupciones no están habilitadas por su bajo nivel de uso debido a la demora de tiempos muy cortos.
La.interrupcion por fin de AD.solo demora unos pocos usg y la de fin de escritura en la EEPROM unos pocos msg.que son insignificantes y Niple ya tiene en cuenta esos tiempos en sus rutinas.

F.
« Última modificación: 20 de Abril de 2024, 14:56:40 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 137
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #6 en: 20 de Abril de 2024, 12:56:15 »
Buenas, Aron y Fer
Estoy con la v.: 6.6.2
Entonces "Niple" me obliga a no usar esta interrupción!
Que triste decisión...

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #7 en: 20 de Abril de 2024, 14:57:31 »
Pues por su respuesta parece que así es.
« Última modificación: 20 de Abril de 2024, 15:00:05 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado Aaronsanchez

  • PIC10
  • *
  • Mensajes: 17
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #8 en: 21 de Abril de 2024, 22:22:28 »
momento, como que niple obliga a no usar esas interrupciones? yo creo que no es asi, lo bueno de niple es que todo se puede hacer como dicen otros colegas todo se puede hacer a mano y guardar sin problemas solo que lamentablemente ya nos acostumbramos a que queremos que el programa ya lo haga todo y pues a veces los desarrolladores no lo integran como en este caso que no consideraron la pena hacerlo ya que aunque los micros lo puedan hacer no le vieron aplicación alguna pero de que se puede hacer a mano se puede hacer solo hay que habilitar los bits correspondientes y en el peor de los casos acomodar en en archivo asm pero como eso es del pasado pues no se hace, como anécdota yo eh trabajado con el pic18f46k22 a 64mhz que es la velocidad máxima del pic pero niple no tiene ese cristal o esa configuración así que hice mis librerías o subrutinas y pues trabajo a esa velocidad sin problema un poco mas de chamba pero cuando ya esta hecho lo puedo usar siempre así que la única limitación es la que uno se pone usando lo que sea que uno use, lo que si seria lamentable es que si lo van a tomar como algo que nadie lo usa pues que malo por que si alguien quiere usarlo y pues no se puede configurar de manera automática y pues estaría en contradicción por que niple para eso es para que no se preocupe uno en el codigo y solo en la aplicación así que ojala y al menos al usuario que si lo necesita se lo puedan integrar

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #9 en: 22 de Abril de 2024, 06:25:54 »
momento, como que niple obliga a no usar esas interrupciones? yo creo que no es asi, lo bueno de niple es que todo se puede hacer como dicen otros colegas todo se puede hacer a mano y guardar sin problemas solo que lamentablemente ya nos acostumbramos a que queremos que el programa ya lo haga todo y pues a veces los desarrolladores no lo integran como en este caso que no consideraron la pena hacerlo ya que aunque los micros lo puedan hacer no le vieron aplicación alguna pero de que se puede hacer a mano se puede hacer solo hay que habilitar los bits correspondientes y en el peor de los casos acomodar en en archivo asm pero como eso es del pasado pues no se hace, como anécdota yo eh trabajado con el pic18f46k22 a 64mhz que es la velocidad máxima del pic pero niple no tiene ese cristal o esa configuración así que hice mis librerías o subrutinas y pues trabajo a esa velocidad sin problema un poco mas de chamba pero cuando ya esta hecho lo puedo usar siempre así que la única limitación es la que uno se pone usando lo que sea que uno use, lo que si seria lamentable es que si lo van a tomar como algo que nadie lo usa pues que malo por que si alguien quiere usarlo y pues no se puede configurar de manera automática y pues estaría en contradicción por que niple para eso es para que no se preocupe uno en el codigo y solo en la aplicación así que ojala y al menos al usuario que si lo necesita se lo puedan integrar

Completamente de acuerdo.

Por eso Niple permite el uso de instrucciones en lenguaje asm y colocar los nmonicos del lenguaje ensamblador directamente
« Última modificación: 22 de Abril de 2024, 07:26:17 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1906
    • Sicoy
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #10 en: 24 de Abril de 2024, 10:57:53 »
momento, como que niple obliga a no usar esas interrupciones? yo creo que no es asi, lo bueno de niple es que todo se puede hacer como dicen otros colegas todo se puede hacer a mano y guardar sin problemas solo que lamentablemente ya nos acostumbramos a que queremos que el programa ya lo haga todo y pues a veces los desarrolladores no lo integran como en este caso que no consideraron la pena hacerlo ya que aunque los micros lo puedan hacer no le vieron aplicación alguna pero de que se puede hacer a mano se puede hacer solo hay que habilitar los bits correspondientes y en el peor de los casos acomodar en en archivo asm pero como eso es del pasado pues no se hace, como anécdota yo eh trabajado con el pic18f46k22 a 64mhz que es la velocidad máxima del pic pero niple no tiene ese cristal o esa configuración así que hice mis librerías o subrutinas y pues trabajo a esa velocidad sin problema un poco mas de chamba pero cuando ya esta hecho lo puedo usar siempre así que la única limitación es la que uno se pone usando lo que sea que uno use, lo que si seria lamentable es que si lo van a tomar como algo que nadie lo usa pues que malo por que si alguien quiere usarlo y pues no se puede configurar de manera automática y pues estaría en contradicción por que niple para eso es para que no se preocupe uno en el codigo y solo en la aplicación así que ojala y al menos al usuario que si lo necesita se lo puedan integrar

Completamente de acuerdo.

Por eso Niple permite el uso de instrucciones en lenguaje asm y colocar los nmonicos del lenguaje ensamblador directamente

Eso de meter mano en el ensamblador para configurar y crear lo que no puede hacer el software, me parece mal. No creo que sea un justificativo eso.

Cuando usas un programa de alto nivel, y gráfico como lo es Niple. En realidad lo que esperas, es que el programa haga todo lo que corresponde a la configuración del código, es decir donde empieza, donde finaliza, como configura los registros, donde pone las interrupciones y sus prioridades, etc.

Y sea capaz de usar todas las herramientas propias que posee el microcontrolador, incluyendo las interrupciones que son parte fundamental de un sistema embebido.

Con el lenguaje de alto nivel, lo que muchos desean crear, es un código de manera rápida, sin perder mucho tiempo comprendiendo la arquitectura y ni su código en ensamblador.

Y la razón que pienso que el software no hace tal configuración, es porque seguramente es complicado para aquellos que programan la generación del ASM, ya que deben considerar, reservar espacio para los vectores de interrupción, y espacio para las funciones que deben crearse y llamarse cuando se produce tales eventos.

Esto implica reservar memoria de programa sólo para esas posibles funciones, las cuales no se sabe si usaran y no se sabe cuantas líneas de código ocuparan.

Y como cada microcontrolador tiene diferentes vectores e interrupciones, es difícil, pero no imposible que el mismo código gráfico sea aplicable para cada caso.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 137
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #11 en: 25 de Abril de 2024, 19:59:14 »
Muchas gracias por la atención, Dominus.
Pienso lo mismo, no deberiamos nesecitar poner la mano, esa es la propuesta de Niple.

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 33
Re:Como activar interrupción por "fin de conversión AD"?
« Respuesta #12 en: 28 de Mayo de 2024, 17:31:35 »
Para el caso de las interrupciones por fin de conversión AD o lectura de EEPROM la opción no se agrega por un tema de usabilidad, dado que los tiempos de lectura son tan cortos que son pocas las ocasiones en las que es necesario seguir ejecutando código en simultaneo. No es un tema de reserva de espacio dinámico, ya que si ese fuera el caso el software no permitiría incluir ningún tipo de interrupción, y básicamente está escribiendo sobre los mismos vectores, solo que habilita otras interrupciones. Mi experiencia con Niple y otros software similares (entornos gráficos con programación por flujo) es que los módulos de interrupción automáticos permiten incluir interrupciones por TMR, cambio de estado de puertos, UART, etc; pero el tema de AD y EEPROM siempre lo encaran con módulos de lectura y escritura que usan la interrupción internamente, no de cara al usuario.

Dicho esto, es cierto que el módulo de Niple no lee los AD con la mayor velocidad teórica posible para cada micro, en cuyo caso se tendría que hacer por lenguaje de ensamblador, configurando a mano los registros de configuración, iniciando la conversión y esperando a que el flag de interrupción cambie de estado. El único caso en el que tuve que hacer esto fue para leer entradas que permanecían en determinado estado por periodos muy chicos (por ejemplo pulsos eléctricos de 50 us), pero para la mayoría de los casos en los que se leen sensores que proveen una señal analógica que está siempre presente esto no es necesario, más bien lo usual es tener que tomar varias lecturas AD y realizar un promedio, cosa que Niple ya permite.


 

anything