Страница 1 из 1

Как програмировать COM порт ??

Добавлено: 23 май 2003, 02:13
Bael
Есть набольшая железяка под COM порт.
Надо ею как то управлять . Протокол известен , но как написать обращение к порту (запись|чтение|параметры соединения|таймауты)
никак не пойму :cry: Всё это на C или C++ .Если есть компонента под Kylix вообще буду щастлив :D Поделитесь кта чем может , ссылки , примеры.

Добавлено: 23 май 2003, 10:14
Llama
#!usr/bin/perl
open COM1, "+<","/dev/ttyS0"
print COM1 "Somestring"
while(COM1)
{
$input = <COM1>
}
Вообще говоря, посмотри любую прогу работающую с ttyS - например minicom.

Добавлено: 23 май 2003, 11:42
Anonymous
а на с++ как?

Добавлено: 23 май 2003, 12:12
Lynxer
С лету:

Код: Выделить всё

#include <iostream>
#include <fstream>
#include <string>

int main()
{
    std::fstream COM1 ("/dev/ttyS0");
    COM1 << "Somestring";
    while (!COM1.eof ())
    {
        std::string input;
        std::getline (COM1, input);
    }

    return 0;
}

Добавлено: 23 май 2003, 23:02
Jek
Это всё справедливо, если протокол работы с железякой - стандартный, через UART. А если через что-нибудь, кроме сигналов TX/RX, придётся или свой драйвер писать, или с ioctl() баловаться (опыта не имею - точно не скажу). А самый грязный хак (но рабочий - сам такое писал, правда, для LPT) - через порты ввода-вывода (под рутом! :( ).