15 feb 2013

Variables (Tipos de datos)


        Las variables son donde los datos temporales se almacenan en un programa BASIC. Ellos son creados usando la palabra clave DIM. Debido a que la RAM  disponible en en microPIC es algo limitado en tamaño, la elección de los tipos o tamaños de  variables adecuados para cada tarea específica es de suma importancia. Las variables pueden ser del tipo  BIT, BYTE, WORD, DWORD, FLOAT o STRING.

   El espacio para cada variable se asigna automáticamente en el área de la memoria RAM del microcontrolador. El formato para crear una variable es el siguiente: -

                      DIM Identificador AS Tipo

Identificador, cualquiera (a excepción de palabras clave).

Tipo :  bit, byte, word, dword o float.

Algunos ejemplos de la creación de variables son: -


   DIM  perro As  Byte           '8 bits sin signo 
                                               '(0 a 255)

  DIM  cat     As  Bit            'un solo bit (0 ó 1)

  DIM  rata   As  Word         '16 bits sin signo (0 a 65535)

  DIM  L_Rat  As DWord      '32 bits con signo
                                               '(-2147483647 a 2147483647)

  DIM  P_Rat As Float         '32 bits en coma flotante

 DIM ST As secuencia * 20    'Crear una variable STRING 
                                                 'capaz de contener 20 caracteres




          El número de variables disponibles depende de la cantidad de RAM en un dispositivo en particular y el tamaño de las variables en el programa Proton BASIC puede reservar aproximadamente 26 ubicaciones de memoria RAM para su propio uso. También puede crear nuevas variables temporales  para utilizarlas en el cálculo de ecuaciones complejas , especialmente si los cálculos de punto flotante se llevan a cabo.

      Hay ciertas palabras reservadas que no se pueden utilizar como nombres de variables, estas son las variables del sistema utilizados por el compilador.

         Las siguientes palabras reservadas no se debe utilizar como nombres de variables, como el compilador creará estos nombres cuando sea necesario: -

PP0, PP0H, PP1, PP1H, PP2, PP2H, PP3, PP3H, PP4, PP4H, PP5, PP5H, PP6, PP6H, PP7, PP7H, PP8, PP9H, GEN, GENH, GEN2, GEN2H, GEN3, GEN3H, GEN4, GEN4H, GPR, BPF, BPFH.


         Cada tipo de variable requiere diferentes cantidades de memoria RAM para su asignación. La lista de abajo ilustra esto.

          FLOAT      requiere 4 bytes de RAM.
          DWORD    requiere 4 bytes de RAM.
          Word          requiere 2 bytes de RAM.
          BYTE         requiere 1 byte de RAM.
          Bit               requiere 1 byte de RAM  para cada 8 variables bits utilizadas.


       
         Cada tipo de variable puede contener un mínimo diferente y el valor máximo:

FLOAT

          Teóricamente puede tener un valor de 1-1e37 hasta e38, así como los valores fraccionarios, haciendo de este el más exacto de los tipos de variables. Sin embargo, más que los tipos  DWORD, esto tiene un precio ya que los cálculos y las comparaciones FLOAT  utilizan más espacio de código en el PIC. Utilice este tipo de variable con moderación y sólo cuando sea estrictamente necesario. Los valores más bajos de punto flotante ofrecen más precisión.

DWORD

         Puede contener un valor entre  -2147483647   y    2147483647.   Esto tiene un precio sin embargo, ya que los cálculos y las comparaciones DWORD usarán más espacio de código dentro de la PICmicro, al igual que FLOAT, utilice este tipo de variable con moderación y sólo cuando sea necesario.

WORD

          Podrá contener a un valor entre 0 y 65535, que suele ser lo suficientemente grande para la mayoría de aplicaciones. Se sigue utilizando más memoria, pero no tanto como un tipo DWORD.


BYTE

          Puede tener un valor de 0 a 255, y son los caballos de trabajo habituales de la mayoría de los programas. El Código producido por las variables de tamaño BYTE es muy bajo en comparación con los tipos WORD, FLOAT o DWORD, y se debe tomar en cuenta  si el programa requiere un funcionamiento más rápido, o más eficiente.

BIT
         Puede tener un 0 o un 1. Estos se crean 8 a la vez, por lo tanto, si declara una sola variable de tipo BIT en el programa no guardará espacio de memoria RAM, solo ahorrará espacio de código, ya que las variables de tipo bit producen el uso más eficiente de código para las comparaciones etc




1 comentario:

  1. Gracias por las aclaraciones de esta página. Favor: cuál es el reemplazo del commando Read Data en versión màs reciente del compilador Proton. Da error: "Read commanda is not recommended for use, and will be removed from later compiler versions". He buscado en ela última versión del manual (3rd May 2016) y no hemos hallado. Agradecemos su colaboración.

    ResponderEliminar