Программирование последовательного порта в Windows - PullRequest
2 голосов
/ 26 марта 2011

Я помогаю другу с его электротехническим проектом.Он строит устройство, которое будет использовать последовательный порт для связи с некоторым программным обеспечением.На платформе Windows (Win7), как можно читать и записывать напрямую в конкретный вывод последовательного порта?Есть ли API, который Windows предоставляет для такого рода вещей?

Ответы [ 2 ]

4 голосов
/ 26 марта 2011

Да, по сути, вы открываете устройство с последовательным портом со специальным именем, например COM1, и читаете и записываете в него столько же, сколько в файл.Используемые контакты (естественно) будут последовательными контактами передачи и приема.

Если вы хотите управлять определенными контактами, но не обязательно последовательным способом, вам лучше работать с параллелью порт вместо.Напряжения параллельного порта, как правило, более дружественны к логике уровня TTL и часто могут управляться напрямую.

Обновление : если вам просто нужно переключить один контакт в соответствии с вашим комментарием, вы можетеиспользовать линию DTR для этого.Чтобы узнать, как это сделать, см. Документацию по функциям EscapeCommFunction.

0 голосов
/ 27 октября 2014

Вы можете использовать функцию WaitCommEvent для мониторинга определенного пина.Предположим, что изменение напряжения вызывает сигнал CTS, это может быть так:

hCommn = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
......
 WaitCommEvent(hCommn, EV_CTS, NULL);
......

WaitCommEvent от MSDN

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