Estoy haciendo un pequeño código para PIC24FJ1024GB610 de Microchip, donde quiero probar PORTA
El código de abajo
#include <xc.h>
#pragma config FWDTEN = OFF
#pragma config FNOSC = FRC
#pragma config ICS = PGD2
unsigned int Pattern;
void Ports (void)
{
TRISA = 0x0000;//all outputs
ANSAbits.ANSA6 = 0;
ANSAbits.ANSA7 = 0;
ANSAbits.ANSA9 = 0;
ANSAbits.ANSA10 = 0;//all digital ports
LATA = Pattern;
}
int main (void)
{
Pattern = 0xBBAA;
Ports ();
while(1);
return 0;
}
Lo que esperaba que sucediera era:
-
Patternse declara comounsigned int - en
main ()Pattern = 0xBBAA - El programa llama a
Ports () -
PORTAconfigurado como salidaTRISA = 0x0000 -
PORTAestá configurado como DigitalANSA = 0x0000 -
LATA = Pattern, si depuro el programa, esperaríaLATA = 0xBBAAen la ventana SFR.
Cuando depuro el programa y abro la ventana SFR, obtengo LATA = 0x82AA , como se puede ver en la captura de pantalla a continuación.
Informaciónútil:
Estoyutilizandolaplacadedesarrollo"16/32 Explorer Development Board", de Microchip
-
IDE: "MPLAB X IDE"
Cualquier ayuda es apreciada.
