Configuración puertoA como puertoB en PIC16F877
Publicado por Pedro (1 intervención) el 13/02/2005 17:23:21
Lo primero que hice fue configurar el puertoB del PIC como salida para direccionar los registros del NIC RTL8019AS utilizando los pines B0-B5, además del puertoE para las señales de Reset, Lectura y Escritura de dicho controlador:
#use fast_io(B)
#use fast_io(E)
#byte PORTB = 6
#byte PORTE = 9
port_b_pullups(TRUE);
PORTB = 0;
port_b_pullups(TRUE);
set_tris_b(0x00);
PORTE.2 = PORTE.1=1;
PORTE.0 =1;
set_tris_e(0x00);
los resultados fueron los esperados, y todo funcionaba correctamente.
Posteriormente quise utilizar el puertoA en vez del B para direccionar para lo que configuré dicho puerto como salida digital mediante los registros ADCON1 y ADCON0:
#use fast_io(A)
#use fast_io(E)
#byte PORTA = 5
#byte PORTE = 9
ADCON1=0x06;
ADCON0=0x00;
PORTA0 = 0;
set_tris_a(0x00);
PORTE.2 = PORTE.1=1;
PORTE.0 =1;
set_tris_e(0x00);
pero no funcionaba correctamente y no sé por qué. Si alguien puede echarme una mano, se lo agradecería muchísimo.
#use fast_io(B)
#use fast_io(E)
#byte PORTB = 6
#byte PORTE = 9
port_b_pullups(TRUE);
PORTB = 0;
port_b_pullups(TRUE);
set_tris_b(0x00);
PORTE.2 = PORTE.1=1;
PORTE.0 =1;
set_tris_e(0x00);
los resultados fueron los esperados, y todo funcionaba correctamente.
Posteriormente quise utilizar el puertoA en vez del B para direccionar para lo que configuré dicho puerto como salida digital mediante los registros ADCON1 y ADCON0:
#use fast_io(A)
#use fast_io(E)
#byte PORTA = 5
#byte PORTE = 9
ADCON1=0x06;
ADCON0=0x00;
PORTA0 = 0;
set_tris_a(0x00);
PORTE.2 = PORTE.1=1;
PORTE.0 =1;
set_tris_e(0x00);
pero no funcionaba correctamente y no sé por qué. Si alguien puede echarme una mano, se lo agradecería muchísimo.
Valora esta pregunta
0