TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: proaudio en 07 de Abril de 2012, 11:07:38

Título: Problema con algunos bits de los puertos...
Publicado por: proaudio en 07 de Abril de 2012, 11:07:38
Hola, ya se que suena muy raro el asunto, pero paso a detallar lo que sucede.
Antes que nada, estuve un buen rato buscando a ver si a alguien le pasó lo mismo, pero no encontré nada...

La idea es hacer una especie de "sequencer" activando las salidas de un puerto alternadamente (en realidad todas están en 1 y se van poniendo en cero secuencialmente)

El problema es que el bit 5 del puerto B no hace nada... probé el puerto C, y fue peor, porque no funcionaban los bits 2, 3, 4 y 5. El código es:


#include<p18f452.h>
#include<delays.h>

#pragma config WDT = OFF
#pragma config OSCS = ON
#pragma config OSC = XT




void main(void)
{
   
        unsigned char j=1;

        TRISB=0;
   
   for(;;)
   {
      
       PORTB=j;
       Delay10KTCYx(40);
            j=j<<1;
       if(j==0)j=1;
   }
}

Muchas gracias por su ayuda.
Título: Re: Problema con algunos bits de los puertos...
Publicado por: proaudio en 07 de Abril de 2012, 12:08:17
Bueno, ya descubrí el problema... por defecto está activado el registro LVP que está asociado a esta pata por la función de PGM, entonces no se seteaba como salida por el comando TRISB... (no se si no se entiende por estar mal explicado)... espero que alguien me corrija así aprendemos. Gracias!