Macros SFR

Si está escribiendo código que puede ser usado en varios dispositivos, acceder a los registros de funciones especiales puede ser problemático, ya que los nombres de los registros pueden cambiar de un dispositivo a otro, o el registro puede no estar disponible en todos los dispositivos. Los programadores suelen duplicar el código específico del dispositivo y compilarlo condicionalmente, según el dispositivo en particular que se utilice. El siguiente ejemplo intenta escribir en un puerto si hay uno disponible; de lo contrario, escribe directamente en el puerto correspondiente.


Si está utilizando un compilador MPLAB XC reciente, puede compilar alternativamente un código similar basado en la presencia del símbolo de registro real en lugar de basarse en un dispositivo, como en:


Compilar contra el registro permite que el código sea más versátil y se dirija a más dispositivos, y como está verificando el registro real al que está a punto de acceder, es más confiable.
Tenga en cuenta que algunos registros también tienen símbolos de alias en el archivo de encabezado específico del dispositivo. Estos alias de registro pueden no tener definiciones de macros disponibles y no deben usarse como se muestra arriba.

Fuente: SFR Macros

Comentarios

Entradas más populares de este blog

Resistencias

Guía de introducción de XC8

Prefijos del sistema internacional de medidas