Autor Tema: Siempre estado bajo  (Leído 1323 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado R-a-ú-l

  • PIC10
  • *
  • Mensajes: 6
Siempre estado bajo
« en: 28 de Mayo de 2015, 14:08:21 »
El pin Rc5(pin 16) siempre permanece en estado bajo no importa si esta configurado como salida o entrada; si lo configuro como salida no importa sí lo pongo en estado alto alero al este siempre está en bajó.

El pic que utilizo es el 16f886.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Siempre estado bajo
« Respuesta #1 en: 28 de Mayo de 2015, 14:33:36 »
El pin RC5 solo sirve para salida del SPI o como pin de proposito general. Asi que a no ser que estes con el SPI activo, no veo por que no se puede manejar a voluntad.

No se si quiera como estas haciendo tu programa.

Desconectado R-a-ú-l

  • PIC10
  • *
  • Mensajes: 6
Re: Siempre estado bajo
« Respuesta #2 en: 28 de Mayo de 2015, 19:42:00 »
bueno lo que pretendo es usar 2 motores por lo que uso un l293
utilice el pic wizard y me genero este archivo:

#include <16F886.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES EC_IO                    //External clock
#FUSES NOPUT                    //No Power Up Timer
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOCPD                    //No EE protection
#FUSES NOBROWNOUT               //No brownout reset
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOWRT                    //Program memory not write protected
#FUSES BORV40                    //Brownout reset at 4.0V
#FUSES HS                   

#use delay(clock=20000000)
#define C0   PIN_C0
#define ENMA   PIN_C1
#define ENMB   PIN_C2
#define MB3   PIN_C4
#define MA2   PIN_C5
#define MA1   PIN_C6
#define MB4   PIN_C7

y el programa que yo hice es este

void adelante(unsigned long i);
void atras(unsigned long i);
void derecha(unsigned long i);
void izquierda(unsigned long i);

void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab

   // TODO: USER CODE!!

while(1)
{

   output_low(ENMA);   
   output_low(ENMB);
   
   if(input(C0) == 1)
   {

   adelante(2000);
   
   atras(2000);
   derecha(2000);
   izquierda(2000);
   }
}

}

void adelante(unsigned long i)
{
   output_low(MA2);     //adelante
   output_high(MA1);     
   
   output_high(MB3);
   output_low(MB4);
 
   output_high(ENMA);
   output_high(ENMB);
   
   delay_ms(i);
   output_low(ENMA);
   output_low(ENMB);
   delay_ms(350);
   return;
}
void atras(unsigned long i)
{
   output_high(MA2);     //atras
   output_low(MA1);     
   
   output_low(MB3);
   output_high(MB4);
   
   output_high(ENMA);
   output_high(ENMB);
   
   delay_ms(i);
   output_low(ENMA);
   output_low(ENMB);
   delay_ms(350);
   return;
}
void derecha(unsigned long i)
{
   output_high(MA2);     //derecha
   output_low(MA1);
   
   output_high(MB3);
   output_low(MB4);
   
   output_high(ENMA);
   output_high(ENMB);
   
   delay_ms(i);
   output_low(ENMA);
   output_low(ENMB);
   delay_ms(350);
   return;
}
void izquierda(unsigned long i)
{
   output_low(MA2);     //izquierda
   output_high(MA1);     
   
   output_low(MB3);
   output_high(MB4);
   
   output_high(ENMA);
   output_high(ENMB);
   
   delay_ms(i);
   output_low(ENMA);
   output_low(ENMB);
   delay_ms(350);
   return;
}

el problema que hace es que un motor en una direccion nunca se mueve y al rastrear el problema, encontre
que el pin Rc5 siempre esta en bajo(esto solo al alimentar el PIC, por lo que creo que es mas que suficiente para descartar 
el integrado como tal)

Desconectado R-a-ú-l

  • PIC10
  • *
  • Mensajes: 6
Re: Siempre estado bajo
« Respuesta #3 en: 03 de Junio de 2015, 19:40:18 »
bueno despues de varias pruebas encontre otro pin con un problema similar, el RC3 estaba siempre en estado alto y esto solo pasaba cuando estaba polarizado el pic.

al no saber que era cambie el pic y el problema se soluciono.

espero le sirva a alguien mi creo yo singular experiencia.


 

anything