Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: GRUNFELD69 en 18 de Abril de 2011, 16:29:54
Título: INTERRUPCION CADA 100 ms
Publicado por: GRUNFELD69 en 18 de Abril de 2011, 16:29:54
Hola foreros: En esta ocasion deseo pedir ayuda acerca de como poder activar una interrupcion por software (no importa el canal) para un microcontrolador JM60. Mi intención es leer un canal ADC cada 100 ms.
Título: Re: INTERRUPCION CADA 100 ms
Publicado por: LABmouse en 18 de Abril de 2011, 17:28:13
Hola GRUNFELD,
Para ello puedes usar el RTC del JM60. Inclusive, puedes programar el RTC para que de manera automática de una orden al ADC y este a su vez te daría una interrupción cada vez que termina un conversión AD.
Puedes guiarte con el Processor Expert para que veas como genera código para ello.
Título: Re: INTERRUPCION CADA 100 ms
Publicado por: GRUNFELD69 en 18 de Abril de 2011, 17:58:25
Bueno intente activar el modulo RTC pero desafortunadamente no hace nada. Aqui copio un trozo del codigo esto lo coloque en el main
#include "EFmJM60_StackConfig.h" //Libreria de Configuracion Global #include "lcd_16x2_h.h"
/********************************************************************/ /*---------- Espacio para declaracion de constantes ---------------*/ /********************************************************************/
/********************************************************************/ /*------- Espacio para declaracion de variables globales ----------*/ /********************************************************************/
/********************************************************************/ /********************************************************************/ /*-------------------- Espacio para funciones ---------------------*/ /********************************************************************/ #define enable_interrupts(INT_RTC);
/********************************************************************/ /********************************************************************/ /*------------------- Espacio de codigo principal ------------------*/ /********************************************************************/ void main(void) { mcu_init(); //Inicializa microcontrolador (No Borrar) delay_ms(1000); LCD_init(DISPLAY_10X5|_2_LINES , DISPLAY_ON); delay_ms(1000); LCD_pos_xy(0,0); LCD_write_string("VOLTAJE: "); setup_adc_clock(ADC_CLOCK_DIV_4); setup_adc_ports(AN6); RTC_init(100);