Configurar ECCP1 en PIC18F458

Hola a todos en el foro.
¿Alguien sabe como configurar el ECCP1 del PIC18F458 en PIC C de CCS o mikroC?
He realizado prueba con el CCP1 y funciona bien pero no consigo hacer que funcione el ECCP1 por el RD4 del PIC.
Sólo requiero activar la interrupción por flanco de subida en el RD4.
Ya he leído el datasheet pero no sé qué omito para que no me resulte.
PHP:
#include <18f458.h>
#DEVICE ADC=10
#FUSES HS, NOWDT

#USE delay(clock=20M)

#USE RS232(BAUD=9600, XMIT=PIN_C6, RCV=PIN_C7, BITS=8)




#define LCD_DATA4       PIN_C3                                    ////
#define LCD_DATA5       PIN_C4                                    ////
#define LCD_DATA6       PIN_C5                                    ////
#define LCD_DATA7       PIN_A5 
#define LCD_ENABLE_PIN  PIN_C1                                    ////
#define LCD_RS_PIN      PIN_C0                                    ////
#define LCD_RW_PIN      PIN_A4                                    ////

#include <lcd.c>

#INT_CCP1
void interrupcion_ccp1()
{
   output_toggle(pin_d1);
}

#INT_CCP2
void interrupcion_ccp2()
{
   output_toggle(pin_d0);
}

void main()
{  
/* Variables */
   mseg[0]=0;

/* Puertos */
   SET_TRIS_A(0x0F);
   SET_TRIS_B(0xF7);
   SET_TRIS_D(0XF0);
   SET_TRIS_C(0X80);
   SET_TRIS_E(0x00);
   port_b_pullups(TRUE);
   output_B(0);
/* ccp */
   setup_ccp2(CCP_CAPTURE_RE);
   setup_ccp1(CCP_CAPTURE_RE);

/* Inicializar perifericos */

   lcd_init();
   LCD_PUTC("hola");

/* interrupciones */

   enable_interrupts(INT_CCP2);
   enable_interrupts(INT_CCP1);

   ext_int_edge(H_TO_L);
   
   enable_interrupts(GLOBAL);

 while (1);

 
Última edición por un moderador:
Atrás
Arriba