Предопределенные глобальные объекты и константы

Для того чтобы облегчить программирование, 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}