Предопределенные глобальные объекты и константы
Для того чтобы облегчить программирование, mikroPascal предопределенных ряд предопределенных глобальных объектов и констант.
Все ARM SFRs неявно объявляются как глобальные переменные volatile dword. Эти идентификаторы имеют внешнюю связь, и видны во всем проекте. При создании проекта mikroPascal PRO для ARM будет включать соответствующий (*.mpas) файл из папки defs, содержащий объявления доступных SFRs и констант (таких как GPIO_PORTB и др.).
Для полного набора предопределенных глобалей и констант, ищите "Defs" в mikropascal PRO или используйте Ассистент кода (Ctrl+Space в редакторе кодаr).
Объявления предопределенного уровеня проекта
mikroPascal PRO для ARM предоставляет предустановленные определения уровеня проекта, которые Вы можете использовать в своем проекте, например :
Общие предопределенные константы:
// Family name :
{$IFDEF ARM}
...
{$ENDIF}
// M0 core family :
{$IFDEF ARM_M0}
...
{$ENDIF}
// M3 core family :
{$IFDEF ARM_M3}
...
{$ENDIF}
// M4 core family :
{$IFDEF ARM_M4}
...
{$ENDIF}
// M7 core family :
{$IFDEF ARM_M7}
...
{$ENDIF}
// MCU name :
{$IFDEF LM3S9B95}
...
{$ENDIF}
// Hardware Debug build type :
{$IFDEF HW_DEBUG}
...
{$ENDIF}
Stellaris specific predefined constants :
// LuminaryMicro family :
{$IFDEF LM}
...
{$ENDIF}
// LuminaryMicro subfamily M3 core :
{$IFDEF LM3}
...
{$ENDIF}
// LuminaryMicro MCU series (LM3S1000 - LM3S9000) :
{$IFDEF LM3S1000}
...
{$ENDIF}
...
{$IFDEF LM3S9000}
...
{$ENDIF}
TIVA specific predefined constants :
// TIVA family :
{$IFDEF TM}
...
{$ENDIF}
// TIVA M4 core :
{$IFDEF TM4}
...
{$ENDIF}
ST specific predefined constants :
// ST device :
{$IFDEF STM32}
...
{$ENDIF}
// STM32F0XX device :
{$IFDEF STM32F0XX}
...
{$ENDIF}
// STM32F1XX device :
{$IFDEF STM32F1XX}
...
{$ENDIF}
// STM32L1XX device :
{$IFDEF STM32L1XX}
...
{$ENDIF}
// STM32F2XX device :
{$IFDEF STM32F2XX}
...
{$ENDIF}
// STM32F3XX device :
{$IFDEF STM32F3XX}
...
{$ENDIF}
// STM32F4XX device :
{$IFDEF STM32F4XX}
...
{$ENDIF}
// STM32L4XX device :
{$IFDEF STM32L4XX}
...
{$ENDIF}
// STM32F7XX device :
{$IFDEF STM32F7XX}
...
{$ENDIF}