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:
-
Pattern
se declara comounsigned int
- en
main ()
Pattern = 0xBBAA
- El programa llama a
Ports ()
-
PORTA
configurado como salidaTRISA = 0x0000
-
PORTA
está configurado como DigitalANSA = 0x0000
-
LATA = Pattern
, si depuro el programa, esperaríaLATA = 0xBBAA
en 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.