СТАТЕЙКИ.ORG.UA
электронный каталог статей

Работа с портами в Турбо Паскаль

комментариев: 0 / добавить комментарий

Любое  устройство и любое средство ввода/вывода имеет один или несколько регистров. Доступ к этим регистрам делается через адресное пространство ввода/вывода. Регистры имеют разрядность 8, 16 или 32 бита, а адресное пространство ввода/вывода включает 65536 адресов. То есть понятие порта можно определить как 8-, 16- или 32-разрядный аппаратный регистр, который имеет определенный адрес в адресном пространстве ввода вывода. Вся работа с устройствами на низком уровне происходит с использованием этих портов.

Pascal способен работать с портами ввода/вывода. Для этого в языках Turbo Pascal и в первой версии Delphi существуют предопределенные массивы PortW и Port. Это одномерные массивы индексы которого соответствуют адресу порта ввода/вывода. Разница между PortW и Port заключается в то, что в PortW – элементы имеют тип word (целочисленный тип. Возможные значения от 0 до 65535), а в массиве Port – значение byte (целое число от 0 до 255). Запись и чтение в порт осуществляется также как и с обычным массивом.

Port[номер_порта]:= данные – запись данных типа byte в порт;

Переменная:= Port[номер_порта] – чтение данных типа byte из порта.

PortW[номер_порта]:= данные – запись данных в порт. Записываемые данные должны иметь тип word

Переменная:= PortW[номер_порта] – чтение данных из порта. В переменную будут записаны данные типа word.

После появления Object Pascal – массвы Port и PortW были исключены.

Это проблему можно было решить, используя стандартные средства APIWindows. Но это подходило только в таких случаев, когда использовались стандартные порты – LPT, Com и др. При использовании других портов – ошибка не исчезала. Ф. Булбак нашел решение проблемы, создав динамическую библиотеку. Четыре процедуры из этой библиотеки позволяют полностью отказаться от использования элементов массивов Port и PortW:

  • PortOut – запись байта в порт;
  • PortWordOut – запись данных типа word в порт;
  • Параметрами для данных процедур являются: 1 – адрес порта, 2 – данные которые нужно записать;
  • PortIn – чтение байта из порта;
  • PortWordIn – чтения данных тапа word из порта.

У этих процедур всего один параметр – адрес порта.

Инфо: Банк статей Stateyki.Org.Ua

комментариев: 0 | просмотров: 391 | 20/11/2009
Читайте также:
Как обеспечить безопасность данных на вашем iPad, iPhone и iMac
Если вы будите соблюдать несложные правила, для защиты собственных дан ...
Оригинальные способы использования QR кода
Пользователи в разных уголках мира давно уже оценили удобство использо ...
Профессия системного администратора
Кто же такие системные администраторы и какой работой они занимаются. ...
Комментарии:
Администрация каталога не несет ответственности за информацию, размещенную посетителями сайта. Сообщения, оставленные на сайте, являются исключительно личным мнением их авторов, и могут не совпадать с мнением администрации каталога.
комментариев нет

ты можешь быть первым
* - поля, помеченные звездочкой, обязательны к заполнению.
Ваше имя*: (max 64 символа)
E-mail: (max 64 символа)
Комментарий*:
без HTML (min 20, max 1000 символов)


Ссылки на статью «Работа с портами в Турбо Паскаль»:
URL
http://www.stateyki.org.ua/articles/rabota-s-portami-v-turbo-paskal/
Ссылка
<a href="http://www.stateyki.org.ua/articles/rabota-s-portami-v-turbo-paskal/">Работа с портами в Турбо Паскаль</a>
BBCode
[url=http://www.stateyki.org.ua/articles/rabota-s-portami-v-turbo-paskal/]Работа с портами в Турбо Паскаль[/url]


Інтернет реклама УБМ
Наши партнеры
Покер онлайн
Биржи
etxt.ru
 

 

Інтернет реклама УБМ


Інтернет реклама УБМ