PIC MICRO BASIC - первый шаг

Первый шаг - общение с BASIC

После успешного подключения контроллера к компьютеру приступим к изучению возможностей контроллера.

    Начальное общение со средой PICµBASIC ведется через консоль – BASIC Terminal ( Ранее консолью называли телетайпный аппарат, с помощью которого оператор общался с компьютером). Причём, работа через консоль актуальна только на этапе загрузки и отладки программы.   В дальнейшем может использоваться для обмена информацией. В терминале, в нижней строке наберем команду VER. Регистр имеет значение. Это запрос версии контроллера. Если все хорошо  - то получим ответ вида DEV PICµBASIC VER х.х.х , где также будет указанны серийные номера, статус активации BASIC – FULL. Более расширенную информацию дает команда STATUS. В случае работы с WEB  PICµBASIC сначала потребуется ввести логин и пароль администратора, ответив на соответствующие запросы. В ответ получим информацию о версии п/о, текущем времени в контроллере, сетевых настройках, логине, пароле, режиме использования файлов WEB сервером.

            Большинство команд, операторов, функций выполняются как из командной строки немедленно, также как и в программе на BASIC. Если мы хотим ввести строку программы  - то ввод начинается с номера строки. Иначе команда будет выполнена немедленно. Несколько  команд можно записывать в одной строке, разделяя двоеточием.Попробуем:

Набираем Print "Hello World"  в ответ получаем сообщение об ошибке   > :0 SYNTAX ERROR , расшифруем

До двоеточия указывается номер строки программы, где произошла ошибка или как в нашем случае - ">". Это говорит о том , что ошибка произошла при выполнении строки отправленной из терминала. После двоеточия указывается номер оператора в строке, где произошла ошибка. Нумерация с нуля. Далее идет расшифровка самой ошибки- SYNTAX ERROR неправильный синтаксис команды. В данном случае - запись оператора должна быть заглавными буквами.

Полный спарвочник по язуку BASIC pdf - Описание языка программирования

Исправим:   PRINT "Hello World":Print "Hello World" и получим ответ:

Hello World

OK
> :1 SYNTAX ERROR

Первый оператор выполнен успешно, во втором произошла ошибка. Как Вы заметили в одной строке записано два оператора, и они разделены символом "двоеточие". В этом случае они исполняются по очереди , слева на право. Например: A=5+3:PRINT A  Ответ :

OK
8

OK

Теперь ошибок нет. После выполнения первого оператора - присваивание переменной А суммы двух чисел было выдано сообщение о удачном завершении OK. Потом был выполнен второй оператор - печать значения переменной - на экране появилось число 8. Затем было выдано сообщение о удачном завершении OK. Сообщение OK появляется только при исполнении  программы из командной строки. В случае исполнении программы из памяти программ в консоль (терминал) выдаются только сообщения об ошибках и программа остановится на месте возникновения ошибки. Для программ, которым требуется работать непрерывно, даже при возникновении ошибок существует возможность перезапустить программу с указанного номера строки  при возникновении ошибки. Как правило там должна располагаться программа - обработчик ошибок, которая после обработки ошибки перезапустит основную программу. В дальнейшем можно посмотреть , были ли ошибки и если были, то какая и  в какой строке она возникла.

   При остановке в случае возникновения ошибки просто прекращается выполнение программы. Все значения переменных в памяти остаются неизменными. Для подробной диагностики их можно просмотреть оператором PRINT. После устранения ошибки можно продолжить выполнение программы набрав CONTINUE. Для более детальной отладки программы в критических местах можно добавить оператор остановки программы STOP. Аналогично продолжение работы  - CONTINUE.   Для непрерывной работы программа должна выглядеть в виде замкнутого цикла. В противном случае она дойдет до последнего номера строки и остановится.

 Общие правила написания программы :

Все строки программы нумеруются  от  0 до 1023 ( максимальный номер строки отличается в разных контроллерах). В одной строке могут быть записаны несколько выражений и/или  функций и/или  операторов  через   : двоеточие. Принята  запись функций и операторов  только  ПРОПИСНЫМИ буквами. Длинна строки ввода ограничена  63 символами, включая номер. Рекомендуется использовать  наибольшее заполнение для экономии памяти, если надо. Лишние символы в конце строки игнорируются. Для ввода строки программы  -  ее следует набрать с номером строки. Если строка с таким номером уже существует - то она будет заменена. Если набрать просто номер строки - то строка с таким номером будет удалена. Программа исполняется от меньшего номера к большему или до оператора перехода. Меткой перехода служит номер строки , куда осуществится переход. Если в тексте программы будет нумерация с пропущенными строками , например 10,20,30 то отсутствующие строки игнорируются.

 Первое знакомство состоялось успешно, пробуем написать первую программу. 

Перед созданием новой программы очистим память программ: NEW. Оператор выполняется несколько секунд, в ответ по завершении получим ответ OK

Набираем :

10 REM Печать цифр 

OK 0010

15 FOR i=0 TO 9

OK 0015

20 PRINT i," ";

OK 0020

25 NEXT i

OK 0025

30 STOP

OK 0030

Рассмотрим подробно. Стока 10 - коментарий, не выполняется. Строки 15-25 цикл , со счетчиком цикла в переменной i. Строка 20 печатет значение ерменной i, затем пробел, и строку не переводит ( в конце оператора стоит точка с запятой). Строка 30 - остановка программы.

Проверим правильность набора:

LIST
0010 REM Печать цифр
0015 FOR i=0 TO 9
0020 PRINT i," ";
0025 NEXT i
0030 STOP

OK

Как видим все успешно. Программа сохранена в энергонезависимой памяти программ. 

Запустим на выполнение  

RUN
0 1 2 3 4 5 6 7 8 9
OK

Команда RUN запускает на выполнение программу , предварительно очистив все перменные. Запуск производится с нулевой строки или с указанного номера , например RUN 10.

Продолжение в следующей статье.



Так же советуем посмотреть





Комментарии

Пока нет комментариев

Написать комментарий