Autor Tema: A vueltas con el set_tris  (Leído 4422 veces)

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

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
A vueltas con el set_tris
« en: 30 de Noviembre de 2006, 17:49:08 »
no consigo que me funcione como creo el set_tris_a y set_tris_e
veamos si me he vuelto idiota de pronto
Quiero salida en pin0 de A y entradas en pin1,2,3,4 y 5 de A y Pin0,1, y 2 de E
deberia ser

#use fast_io(a)
#use fast_io(e)
set_tris_a(0xfe);
set_tris_e(0xff);

y si quiero salida en PIN0 de e y todo a como entradas y el resto de e como entradas tambien

set_tris_e(0xfe);
set_tris_a(0xff);

¿estoy en lo cierto? o ¿es que me he vuelto loco?.
Con el puerto b c y d me funciona bien al parecer, ¿que les pasa al a y al e?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: A vueltas con el set_tris
« Respuesta #1 en: 30 de Noviembre de 2006, 18:56:34 »
¿Has desconectado el ADC?
Aunque eso explicaría que no te funcionase el puerto A; el puerto E debería funcionar tal cual lo tienes.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: A vueltas con el set_tris
« Respuesta #2 en: 30 de Noviembre de 2006, 19:07:40 »
Algec ten tambien en cuenta el modelo de PIC que uses.

Según cual sea puede haber interacciones entre los fuses y los comportamientos de este o aquel puerto. He vivido momentos dramáticos con el 18F4550 para lograr activar los puertos E y A según los fuses del USB (por ejemplo)

Datasheet, Datasheet, Datasheet, mucho Datasheet.  :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: A vueltas con el set_tris
« Respuesta #3 en: 30 de Noviembre de 2006, 19:10:51 »
Es un 16F877
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT
y NO desactive el ADC pero nunca lo he hecho y no suponia que habia que desactivarlo , pensaba que lo estaba por defecto.
Probare eso pero no se si funcionara
Gracias

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: A vueltas con el set_tris
« Respuesta #4 en: 01 de Diciembre de 2006, 14:46:14 »
Hay que desactivarlo, es igual si trabajamos en ASM, tenemos que indicar que los pines del puerto A son pines de E/S, el pic como defecto lo asume como analógicas para el ADC.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: A vueltas con el set_tris
« Respuesta #5 en: 01 de Diciembre de 2006, 17:05:58 »
Por lo que me decis si quiero usar un PIN del puerto A como salida digital y el resto del puerto como entradas analogicas no es posible hacerlo.
Es lo que me interesa hacer, activar como salida digital un pin de A, y el resto de A y de E como entradas analogicas, realizar una lectura  de todas las analogicas secuencialmente y cambiar a activar como salida digital otro pin de A y el resto, incluida la que era salida anteriormente, activarlas ahora como entradas analogicas, y asi sucesivamente con las 5 analogicas de A y las tres de E.
¿estoy equivocado, o no es posible?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: A vueltas con el set_tris
« Respuesta #6 en: 02 de Diciembre de 2006, 02:52:33 »
Puedes configurar unos pines como salidas, otros como entradas digitales y otros como entradas analógicas.
Para ello, además del TRIS debes utilizar el comando setup_adc_ports, cuya función según la ayuda es esta:

Sets up the ADC pins to be analog, digital or a combination.  The allowed combinations vary depending on the chip. The constants used are different for each chip as well.  Check the device include file for a complete list.  The constants ALL_ANALOG and NO_ANALOGS are valid for all chips.  Some other example constants:

  • ANALOG_RA3_REF-  All analog and RA3 is the reference
  • RA0_RA1_RA3_ANALOG-  Just RA0, RA1 and RA3 are analog

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: A vueltas con el set_tris
« Respuesta #7 en: 02 de Diciembre de 2006, 08:08:46 »
Como lo expone el amigo nocturno es la forma correcta, aun así, en caso de duda, el data sheet, que es la biblia para estos menesteres, en en capítulo de A/D Module, concretamente en el registro ADCON1



los bit's PCFG3:PCFG0 configuran los pines como entradas analógicas o como pines de E/S.



Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: A vueltas con el set_tris
« Respuesta #8 en: 02 de Diciembre de 2006, 08:46:06 »
Buffff que mas se puede pedir?
Mil gracias, mas completo imposible.