последовательный порт в C - PullRequest
2 голосов
/ 24 мая 2010

Я написал программу на C для отправки байта на последовательный порт (com). Я использовал BIOSCOM для отправки данных но я думаю, что это не открывает порт. Подскажите пожалуйста, как я могу открыть и закрыть ком-порт в C.

Мой код здесь:

#define COM1 1;
bioscom (1 , 65 , COM1);

Пожалуйста, помогите мне ...

Ответы [ 2 ]

5 голосов
/ 24 мая 2010

Я использовал следующие Win32 API для открытия последовательного порта в утилите командной строки Win32:

CreateFile - используйте строку COMx в качестве имени файла, заменив x номером последовательного порта.

BuildCommDCB и SetCommState - используются для установки параметров (скорость передачи, четность, биты данных, стоп-биты).

ReadFile и WriteFile - используется для чтения и записи с использованием дескриптора, возвращаемого CreateFile.

CloseHandle - Закрыть дескриптор, возвращаемый CreateFile.

Найдите в MSDN документацию по каждой функции, и вы сможете быстро ее запустить.

0 голосов
/ 24 мая 2010

Один из API-интерфейсов bioscom (номер API 0) используется для инициализации (не открытого) последовательного порта: например, указать скорость передачи и т. д.

Предполагая, что bioscom использует API-интерфейс BIOS, я думаю, что последовательный порт не нужно открывать: поскольку аппаратное обеспечение последовательного порта уже существует, а BIOS выводит на него аппаратное обеспечение.

Однако BIOS BIOS может быть отключен операционной системой, когда операционная система переводит процессор в защищенный режим и устанавливает драйвер устройства, специфичный для O / S.

Я не знаю bioscom, но Google находит документацию и примеры того, как ее использовать .

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