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

дубровина психология

Bioscom - часть 2


Если cmd имеет значение 2, то считываемый байт находится в младших битах, если не было ошибки. Если же произошла ошибка, устанавливается, по крайней мере, один из старших бит. Если ни один из старших бит не установлен, значит байт был по- лучен без ошибки.

Если cmd имеет значение 0 или 3, то возвращаемое значение содержит старшие биты, как они были опреде- лены выше, а младшие биты определяются следующим образом:

бит 7 - прием обнаруженного линейного сигнала; бит 6 - кольцевой индикатор; бит 5 - набор данных готов; бит 4 - готовность к передаче; бит 3 - изменение в приеме детектора линейного сигнала; бит 2 - завершающий кольцевой детектор; бит 1 - изменение в готовности набора данных; бит 0 - изменение в готовности к передаче.

Переносимость bioscom поддерживается только на компьютерах IBM PC или совместимых с ними.

Пример:

#include

#include

#define COM1 0 #define DATA_READY 0x100 #define SETTINGS (0x80|0x02|0x00|0x00)

int main(void) { register int in, out, status; bioscom(0, SETTINGS, COM1); cprintf("... BIOSCOM [ESC] to exit ...\n"); while (1) { status = bioscom(3, 0, COM1); if (status & DATA_READY) if ((out=bioscom(2, 0, COM1) & 0x7F) != 0) putch(out); if (kbhit()) { if ( (in = getch()) == '\x1B') return(0); bioscom(1, in, COM1); } } return 0; }





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



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