Это старая версия документа!
Управление микроконтроллером осуществляет через операции записи и чтения значений регистров.
Для чтения значений примеряется процедура SYSTEM.GET.
Первый аргумент — адрес регистра, второй — машинное слово.
Машинное слово может быть переменной или константой типа целое (INTEGER) или множество (SET).
(ПРИМЕР ДЛЯ STM32 - )
Рассмотрим чтение на примере регистра GPIOx_IDR. В следующем фрагменте из документации к микроконтроллеру показано, что первые 16 бит регистра GPIOx_IDR содержат информацию о напряжении на выводах порта x.
Адреса регистров хранятся в модулях подсистемы Micro.
Для микроконтроллеров STM32F10xxD адреса хранятся в модуле MicroSTM32F10xxD.
MODULE ExamplesGet; IMPORT SYSTEM, MCU := MicroSTM32F10xxD; PROCEDURE CheckButton* (pin: INTEGER): BOOLEAN; VAR x: SET; BEGIN SYSTEM.GET(MCU.GPIOAIDR, x); RETURN pin IN x (из 32 битного х маской pin получаем булевое true/false ??) END CheckButton; END ExamplesGet.
Этот пример реализует процедуру, которая проверяет уровень сигнала на ножке pin.
Подробнее про применение типа SET для управления регистрами.