TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: black_flowers en 15 de Julio de 2007, 14:33:20

Título: definiciones de los puertos en ccs
Publicado por: black_flowers en 15 de Julio de 2007, 14:33:20
otra duda que tengo (esta vez con el ccs) es: Veo que al principio del fichero de cabecera (16f84a.h por ejemplo) se definen los símbolos entre ellos los pines de los puertos así:

#define PIN_A0 40
...

Pero no entiendo cómo funciona esto exactamente ya que el PORTA está en la dirección 0x05 es decir en la dirección 5 (en decimal) y no 40 como define para el pin 0 del PORTA.

¿qué explicación hay?

SALUDO.S!!  :D :-) :D :-)
Título: Re: definiciones de los puertos en ccs
Publicado por: jdaniels en 15 de Julio de 2007, 15:20:50
En la ayuda de ccs te ponen el porque se ese numero leelo:


Pins are defined in the devices .h file.  The actual value is a bit address.  For example, port a (byte 5) bit 3 would have a value of 5*8+3 or 43.  This is defined as follows: #define PIN_A3 43. The PIN could also be a variable.  The variable must have a value equal to one of the constants (like PIN_A1) to work properly.  The tristate register is updated unless the FAST_I0 mode is set on port A.  Note that doing I/0 with a variable instead of a constant will take much longer time.
Título: Re: definiciones de los puertos en ccs
Publicado por: black_flowers en 21 de Julio de 2007, 19:00:52
gracias, por tu ayuda jdaniels, era una simple curiosidad, para entender mejor el compilador..


saludos.
Título: Re: definiciones de los puertos en ccs
Publicado por: 2hansen2 en 29 de Mayo de 2008, 14:19:15
Hola,
tambien puedes ponerlo de la siguiente forma

       #byte portb = 0x06

       #bit P1 = portb.0

con lo que mapeas en PIN_B0 y le pones el nombre que quieras, asi es mas intuitivo en tus aplicaciones