queueliinit% — число в пределах от 1 до 32 (ON PLAY переходит на подпрограмму тогда, когда количество нот, оставшихся в музыкальном буфере, меньше этого числа),
line — метка или номер первой команды подпрограммы обработки прерываний.
ПРЕРЫВАНИЯ ОТ ПОСЛЕДОВАТЕЛЬНОГО ПОРТА Если необходимо запрограммировать какие-то действия по запросу последовательного порта, то необходимо составить подпрограмму, которая должна осуществить эти действия, и использовать команды следующего назначения:
сом(п%) ON (11.30) включает режим прерывания по запросу порта,
COM(n%) OFF (11.31)
выключает режим прерывания по запросу порта,
сом(п%) STOP (11.32)
приостанавливает режим прерывания по запросу порта и
ON COM(n%) GOSUB line (11.33)
устанавливает номер порта и метку, где п% — номер последовательного порта (1 для СОМ1 или 2 для COM2),
line — метка или номер первой команды подпрограммы обработки прерываний.
ОБРАБОТКА ОШИБОК
В отличие от других прерываний прерывание по ошибке нельзя ни выключить, ни приостановить, а можно только определить каким образом программа должна реагировать на ошибку при помощи команды
ON ERROR (GOTO line ¦ RESUME NEXT) (11.34)
Если такой команды нет, то ошибка приводит к прекращению выполнения программы. Во втором варианте команда возвращает управление в строку, следующую за строкой вызвавшей прерывание по ошибке. А в первом варианте команда обеспечивает передачу управления подпрограмме обработки ошибок. Эта подпрограмма должна заканчиваться командой.
RESUME П line I NEXT}] (11.35)
В первом варианте эта команда совершает безусловный переход по заданной метке. По умолчанию или нулевому значению метки повторно исполняется команда, вызвавшая прерывание по ошибке. Несмотря на то, что внешне команда перехода по метке (13.34) выглядит как безусловный переход, можно вернуться к прерванной программе, используя второй вариант команды Необходимую для обработки ошибок информацию можно получить по значениям следуюи¦их функцийсо стандартными именами: