20.3.5 Device Features Macros

The following symbols are defined if device features are enabled.

Table 20-5. Device Features Macros/Symbols
SymbolDescription
__HAS_5VOLTS__Device is a 5-volt device.
__HAS_AUXFLASH__Device has auxiliary Flash.
__HAS_CODEGUARD__Device has CodeGuard™ Security.
__HAS_DMA__Device has a DMA controller.

This is a generic macro which is set if any DMA controller is present. This DOES NOT indicate that DMA memory is present. To determine if there is any DMA memory, use the __DMA_BASE or __DMA_LENGTH manifest constants which should be defined the device header file.

__HAS_DMAV2__Device has a DMA V2 controller

This macro is set if a DMA V2 controller is present. This DOES NOT indicate that DMA memory is present. To determine if there is any DMA memory, use the __DMA_BASE or __DMA_LENGTH manifest constants which should be defined the device header file.

__HAS_DSP__Device has a DSP engine.
__HAS_EDS__Device has Extended Data Space.
__HAS_EEDATA__Device has EEPROM data (EEData) memory.
__HAS_ISA32__Device supports the dsPIC33A instruction set.
__HAS_PMP__Device has Parallel Master Port.
__HAS_PMPV2__Device has Parallel Master Port V2.