Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Функции Win32 API для обмена данными по RS-232С




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

Основные информационные функции обмена по последовательному порту RS-232С:

GetCommTimeouts;

GetCommProperties;

GetCommState.

Данные функции позволяют получить следующую информацию:

а) временные характеристики обмена:

время, в течение которого должен быть получен следующий символ при приеме;

время, в миллисекундах, на каждый принимаемый символ;

время, в миллисекундах, прибавляемое к общему времени приема;

время, в миллисекундах, на каждый передаваемый символ;

время, в миллисекундах, прибавляемое к общему времени передачи;

б) свойства устройства обмена:

тип устройства;

версия пакета;

максимальный размер внутреннего буфера для передачи в байтах;

размер внутреннего буфера для передачи в байтах;

максимальный размер внутреннего буфера для приема в байтах;

размер внутреннего буфера для приема в байтах;

максимальная скорость передачи в битах на секунду (bps);

поддерживаемые режимы и возможности;

устанавливаемые параметры;

устанавливаемые скорости передачи;

поддерживаемые количества информационных бит;

поддерживаемые количества стоповых бит;

поддерживаемые паритеты;

в) параметры текущего сеанса связи:

текущая скорость передачи в bps;

количество информационных бит;

количество стоповых битов;

значение символа XON для приема и передачи;

значение символа XOFF для приема и передачи;

значение символа замещающий байты при ошибке;

значение символа "конец вводимых данных";

значение символа "конец вводимых данных";

значение символа "событие" и т.д.

Необходимо отметить, что обмен данными между двумя устройствами по последовательному порту будет корректно осуществляться только в том случае, когда передатчик на одной стороне и приемник на противоположной стороне имеет идентичные параметры настройки.

Настройка параметров, так же как передача и прием осуществляется с использованием управляющих функций. Основные управляющие функции Win32 API для обмена по последовательному порту:

SetCommTimeouts;

SetCommState;

WriteFile;

ReadFile.

Для работы с данными функциями потребуются обслуживающие функции, которыми являются CreateFile (открытие устройства) и CloseHandle (закрытие устройства).

Приведенные функции позволяют осуществить следующие действия:

а) изменение временных характеристик обмена:

изменение времени, в течение которого должен быть получен следующий символ при приеме;

изменение времени, в миллисекундах, на каждый принимаемый символ;

изменение времени, в миллисекундах, прибавляемое к общему времени приема;

изменение времени, в миллисекундах, на каждый передаваемый символ;

изменение времени, в миллисекундах, прибавляемое к общему времени передачи;

б) изменение параметров текущего сеанса связи:

текущей скорости передачи в bps;

количества информационных битов;

количества стоповых битов;

значения символа XON для приема и передачи;

значения символа XOFF для приема и передачи;

значения символа замещающего байты при ошибке;

значения символа "конец вводимых данных";

значения символа "конец вводимых данных";

значения символа "событие" и т.п.;

в) передача данных;

г) прием данных.

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

 





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 433 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2806 - | 2369 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.