Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Иатериалы у экзамену_2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
214.02 Кб
Скачать

17

Тема: Программирование com-портов Вопрос №1. Теоретические сведения о работе с коммуникационными портами порты контроллера adam5510м

1.1 Встроенные коммуникационные порты контроллера adam5510м

Микроконтроллер ADAM5510М имеет в своем составе четыре последовательных коммуникационных порта, которые обеспечивают возможность организации взаимодействия практически с любыми устройствами с последовательным доступом.

Порт СОМ1 поддерживает работу в режиме интерфейса RS232, а порт СОМ2 поддерживает работу в режиме интерфейса RS485.

СОМ4 – порт с переключаемыми интерфейсами RS232/485.

Порт СОМ3 предназначен для осуществления загрузки в микроконтроллер управляющих программ. Кроме того, он может быть использован и как коммуникационный порт общего назначения с интерфейсом RS232.

1.2 Передача данных методом прерываний

Для обработки событий, происходящих асинхронно (то есть, время, отведенное для передачи данных, заранее не определяется) по отношению к выполнению программы (???именно в таком режиме происходит передача/прием данных через СОМ-порт) лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое особое событие в системе, требующее моментальной реакции.

Прерывание возникает в тех случаях, когда процессор приостанавливает текущую работу, чтобы переключиться на выполнение другой (подпрограмма обработки прерывания), после чего он возобновит первоначальную работу так, будто она не прерывалась.

Есть два типа прерываний: аппаратные и программные.

Аппаратные прерывания инициируются устройствами, подсоединенными к компьютеру (внутри или извне), такими как часы, дисковое устройство клавиатура или порты последовательной передачи данных.

Программные прерывания инициируются программами, т.е. появляются тогда, когда одна программа хочет получить сервис со стороны другой программы, например, доступ к определенным аппаратным средствам.

Поскольку очевидно, что возможны самые разнообразные прерывания по самым различным причинам, то с прерыванием связывают уникальное число – так называемый номер (адрес) прерывания, с которым связана определенная подпрограмма. Тогда под прерываниями можно рассматривать процедуры, которые процессор вызывает для выполнения определенной задачи.

Когда вызывается прерывание, процессор приостанавливает выполнение текущей программы ("подвешивает" ее), считывает и загружает адрес программы обработки прерываний (сервисной программы прерываний, ISR) и выполняет прерывание, передавая ей управление. После окончания ее работы управление передается основной программе, которая была прервана.

Для того, чтобы связать адрес обработчика прерывания с номером прерывания, используется таблица векторов прерываний. Из нее то при наступлении прерывания процессор и считывает адрес сервисной программы прерываний и выполняет последнюю. Элементы ТВП называются векторами прерываний.

В микроконтроллере ADAM 5510M используется только три типа прерываний, связанных с работой СОМ –портов, они приведенные в таблице.

Назначение

Номер (адрес)

Прерывание от порта СОМ1

0Ch

Прерывание от порта СОМ2

0Eh