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