Hola amigos!
Estoy empezando con pic24 y apenas seteo los bits de configuración y oscilador. ayy la llevo +- xD
Intento realizar el clásico blink led pero no me es posible con el pin RA3.
El puerto A es de 5 bits.
A0,A1,A2,A3 y A4
Puedo escribir en todos excepto A3 , viendo desde el MPLAB SIM TRIS A3 nunca se establece como salida.
RA2 y RA3 tiene la funcion de oscilador primario , la cual he deshabilitado en la palabra de configuración 2
POSCMOD_NONE// no oscilador primario
OSCIOFNC_ON // Establezco que RA3 sea usado como I/O digital
FNOSC_FRCPLL // oscilador interno con postcaller y pll
;----- CONFIG2 (0xabfc) --------------------------------------------------
;
; The following settings are available for CONFIG2:
;
; Primary Oscillator Select:
; POSCMOD_EC EC Oscillator mode selected
; POSCMOD_XT XT Oscillator mode selected
; POSCMOD_HS HS Oscillator mode selected
; POSCMOD_NONE Primary Oscillator disabled
;
; I2C1 Pin Select bit:
; I2C1SEL_SEC Use alternate SCL1/SDA1 pins for I2C1
; I2C1SEL_PRI Use default SCL1/SDA1 pins for I2C1
;
; IOLOCK One-Way Set Enable:
; IOL1WAY_OFF The IOLOCK bit can be set and cleared using the unlock sequence
; IOL1WAY_ON Once set, the IOLOCK bit cannot be cleared
;
; OSCO Pin Configuration:
; OSCIOFNC_ON OSCO pin functions as port I/O (RA3)
; OSCIOFNC_OFF OSCO pin functions as clock output (CLKO)
;
; Clock Switching and Fail-Safe Clock Monitor:
; FCKSM_CSDCMD Sw Disabled, Mon Disabled
;
; Initial Oscillator Select:
; FNOSC_FRCPLL Fast RC Oscillator with Postscaler and PLL module (FRCPLL)
;
; 96MHz PLL Startup Select:
; PLL96MHZ_OFF 96 MHz PLL Startup is enabled by user in software( controlled with the PLLEN bit)
; PLL96MHZ_ON 96 MHz PLL Startup is enabled automatically on start-up
;
; USB 96 MHz PLL Prescaler Select:
; PLLDIV_NODIV Oscillator input used directly (4 MHz input)
;
; Internal External Switchover:
; IESO_OFF IESO mode (Two-Speed Start-up) disabled
; IESO_ON IESO mode (Two-Speed Start-up) enabled
//
//include basic header definition
#include <p24FJ64GB002.h>
_CONFIG1(WDTPS_PS1 & FWPSA_PR128 & FWDTEN_OFF & ICS_PGx3 & GWRP_ON & GCP_OFF & JTAGEN_OFF)
_CONFIG2(POSCMOD_NONE & IOL1WAY_OFF & I2C1SEL_PRI & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_FRCPLL & PLL96MHZ_ON & PLLDIV_NODIV & IESO_OFF)
_CONFIG3(SOSCSEL_IO & WUTSEL_LEG & WPDIS_WPDIS & WPCFG_WPCFGDIS & WPEND_WPENDMEM )
_CONFIG4(DSWDTPS_DSWDTPS3 & DSWDTOSC_LPRC & RTCOSC_LPRC & DSBOREN_OFF & DSBOREN_OFF )
//main loop
int main(void)
{
AD1PCFG=0xFFFF; // No análogos , DIGITAL PIN
LATA=0; //latch de salida
LATB=0;
TRISB=0;
TRISA=0;
LATA=0X001F; // <---- ME escribe 0b0001 0111 A3 no se pone a 1
}//end main.
Saludos y gracias!