Autor Tema: definiciones de los puertos en ccs  (Leído 1918 veces)

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

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
definiciones de los puertos en ccs
« 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 :-)

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: definiciones de los puertos en ccs
« Respuesta #1 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.

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: definiciones de los puertos en ccs
« Respuesta #2 en: 21 de Julio de 2007, 19:00:52 »
gracias, por tu ayuda jdaniels, era una simple curiosidad, para entender mejor el compilador..


saludos.

Desconectado 2hansen2

  • PIC10
  • *
  • Mensajes: 9
    • www.enriqueav.es
Re: definiciones de los puertos en ccs
« Respuesta #3 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
« Última modificación: 29 de Mayo de 2008, 17:06:55 por 2hansen2 »