TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: aitopes en 24 de Noviembre de 2006, 14:17:46
-
Hola!
Estoy teniendo un problema tonto: usando un PIC 16F628A , defino como oscilador el "INTRC I/O" para leer un pulsador conectado entre +5V y PORTA.6 ..... pero no logo que el estado del pin cambie al pulsar el pulsador. El pin esta puesto a GND mediante una resistencia de 10K. Al pulsar, se pone a +5V.
El codigo es el siguiente:
Symbol p_cero = PORTA.6
PORTA = 0
AllDigital
TRISA = %11110000
TRISB = %00000000
...
'Si pulso el boton, velocidad = 0
If p_cero = 1 Then
velocidad = 0
Gosub fijovel
WaitMs 250
Endif
El tema es que jamas pasa por dentro del "If p_cero = 1 Then....". El resto del programa funciona ok.....
Uso el PIC SIMULATOR IDE, pero en este caso el codigo es (creo) compatible 100% con PBP, salvo el "alldigital" que lo unico que hace es configurar todos los pines del portA como E/S digitales.
Alguna idea? Que se me esta pasando por alto ?!?!?!
-
Pues yo no veo nada nada raro esta bien el codigo, ese pin esta como entrada no veo porque no cambie, haber prueba quitando el PORTA=0 y pasandolo debajo de los TRIS, o bien checa que el boton sirva.
-
El boton sirve....Incluso he probado haciendo un puent, y nada.
Acabo de cambiar de lugar lo que indicas (que aunque no estuviese no cambiaria nada, creo) y sigue sin funcionar. :(
Gracias por las ideas. ;)
-
UMM.... renombrando el pin tal cual es porta.6, poniendo un antirebote o ya de plano para descartar que sea el pin cambiarlo a otro
-
El tema es que tengo los otros I/O usados, y a ultimo momento se me ocurrio que podia usar ese que me quedaba libre para detener la marcha sin pasar por las velocidades intermedias.....un extra que de ultima no es indispensable. Pero ahora me gustaria saber por que no anda!
Probe con otro pic, mismo resultado, y haciendo directamente un puente entre +5V y el pin 15 (RA6), sin resultados.
Seguramente es algun fuse o algo por el estilo, pero como es la primera vez que uso ese pin no le doy con la tecla.....grrrr!
-
pues si es del Fuse ya que es el pin del oscilador, pero como comentas que lo tienes como INTRC I/O pues no deberia ponerse loco hasta lo dice el datasheet
The RC Oscillator mode has two options that control
the unused OSC2 pin. The first allows it to be used as
a general purpose I/O port. The other configures the
pin as an output providing the FOSC signal (internal
clock divided by 4) for test or external synchronization
purposes.
-
Exacto. Por eso me llama la atencion que no funcione. Tiene que ser alguna animalada mia, o me hay algo que no lei...
-
SOY UN TARADO. :(
Como ya habia terminado, para no meter la pata llame al fuente "xxxx02.bas". Y en el micro seguia grabando el "xxxx01.hex"...es decir, la version que NO USABA ESE PIN.
No soy mas bobo por que el dia tiene solo 24 horas.
Navaismo, amigos...perdon por hacerles perder el tiempo con esto. :(
-
:D :D me recuerda miles de problemas sonsos que tambien he tenido que buenoque ya funcione; ya vez como decias era una bobada seguro.
Y no nos haces perder el tiempo
:D
-
Gracias por la comprension. ;)
Te debo una.
-
Jaja, eso es algo que me ha pasado infinidad de veces, y para evitarlo lo que hago antes de grabar el nuevo programa es hacer un verificado, si me da ok hay algun problema, esto esta bien hacerlo sobre todo si ya llevas algunas horitas con el tema y ya empieza a estar uno torpon... :mrgreen:
-
Aitopes que te parece el abrir un hilo para el BASIC del PIC SIMULATOR IDE?...
cuanto mas trabajo con el mas me gusta y menos ganas de cambiar, no he logrado sacarle un solo fallo y realmente es un Basic todo terreno que genera un codigo bastante reducido y optimizado para ser Basic... :mrgreen:
-
Me parece fantastico....siempre me senti muy solo con este compilador, cuya unica falla es justamente esa: ser poco conocido. Tengo programas muy grandes hechos y corren sin el menor de los problemas.
Adelante!
-
Somos los usuarios del Basic del reverso tenebroso... :D