Описание функций Си


Bioscom



     bioscom


Функция Выполняет ввод/вывод из последовательного порта.

Синтаксис #include

int bioscom(int cmd, char abyte, int port);

Файл, содержащий bios.h прототип

Описание Функция bioscom выполняет разнообразную связь через RS232 при помощи порта ввода/вывода, указываемого в аргументе port.

Значение 0 аргумента port соответствует COM1, значение 1 соответствует COM2 и т.д.

Значение аргумента cmd может быть одним из следу- ющих:

0 - устанавливает параметры связи в abyte; 1 - пересылает символ в abyte по линии связи; 2 - получает символ по линии связи; 3 - возвращает текущее состояние коммуникационного порта.

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

0x02 - 7 битов данных 0x00 110 бод 0x03 - 8 битов данных 0x20 150 бод

0x00 - 1 стоп-бит 0x40 300 бод 0x04 - 2 стоп-бита 0x60 600 бод 0x00 - нет проверки на четность 0x80 1200 бод 0x08 - проверка на нечетность 0xA0 2400 бод 0x18 - проверка на четность 0xC0 4800 бод 0xE0 9600 бод

Например, если abyte имеет следующее значение 0xEB (0xE0|0x08|0x00|0x03), то это устанавливает для коммуникационного порта скорость передачи 9600 бод, контроль на нечетность, 1 стоп-бит, и 8 битов данных. bioscom использует прерывание BIOS 0x14.

Возвращаемое Для всех значений cmd bioscom возвращает шестнадца- значение тибитовое целое число, где 8 старших бит - это биты состояния, а 8 младших битов варьируются в зави- симости от значения cmd. Старшие биты в возвраща- емом значении имеют следующие значения:

бит 15 - таймаут; бит 14 - передающий сдвиговый регистр пуст: бит 13 - передающий регистр хранения пуст; бит 12 - обнаружено прерывание; бит 11 - ошибка формирования кадра синхронизации; бит 10 - ошибка четности; бит 9 - ошибка переполнения; бит 8 - готовность данных.

Если значение в abyte невозможно передать, то ус- танавливается бит 15. В других случаях старшие и младшие биты устанавливаются соответствующим об- разом. К примеру, если возникла ошибка кадра син- хронизации, то устанавливается бит 11.




- Начало -  - Назад -  - Вперед -



Книжный магазин