Estoy tratando de ejecutar el ejemplo más simple de PWM utilizando un PIC18F4550 , Compilador XC8 y las bibliotecas plib/timers.h y plib/pwm.h
Mi código es el siguiente:
#include <xc.h>
#include <plib/timers.h>
#include <plib/pwm.h>
//CONFIGURATION BITS...
#pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2
#pragma config FOSC = HSPLL_HS, FCMEN = OFF, IESO = OFF
#pragma config PWRT = OFF, BOR = OFF, VREGEN = OFF
#pragma config WDT = OFF, WDTPS = 32768
#pragma config MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF
#pragma config STVREN = ON, LVP = OFF, ICPRT = OFF, XINST = OFF
#define _XTAL_FREQ 48000000
void main(){
TRISCbits.TRISC2 = 0;
unsigned char prescaler = T2_PS_1_16;
OpenTimer2(prescaler);
OpenPWM1(0x95);
while(1){
SetDCPWM1(300);
}
}
Y el diagrama de mi PIC es:
Pero me sale un mensaje de error al intentar compilar:
C:\Program Files (x86)\Microchip\xc8\v1.40\include\pic18f4550.h:4426: error: (1098) conflicting declarations for variable "_TRISCbits" (C:\Program Files (x86)\Microchip\xc8\v1.40\include\pic18f4550.h:3829)
(908) exit status = 1
nbproject/Makefile-default.mk:125: recipe for target 'dist/default/production/PWM_code.X.production.hex' failed
make[2]: Leaving directory 'C:/Users/Delfin/Pictures/PIC18F4550 Basics/PWM_code.X'
nbproject/Makefile-default.mk:84: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/Delfin/Pictures/PIC18F4550 Basics/PWM_code.X'
make[2]: *** [dist/default/production/PWM_code.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
BUILD FAILED (exit value 2, total time: 1s)
Ya he descargado e instalado las librerías periféricas desde aquí: http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en574973 y también los he enlazado en mi código como muestro en la siguiente imagen:
Entonces, ¿por qué no se compila? Cuando comento la línea
OpenPWM1(0x95);
funciona bien. Agradecería cualquier sugerencia. Gracias