Настройка СОМ-порта из под модуля

Взгляд изнутри

Модератор: Модераторы разделов

Segment
Сообщения: 4

Настройка СОМ-порта из под модуля

Сообщение Segment »

Открыто, к примеру, "/dev/ttyS1" с помощью filp_open. Собственно какими методами ядра можно поменять baudrate и тому подобное(c_flags, i_flags...) имея стуктуру termios. Искал, но ничего конкретного не нашел. Помогите пожалуйста.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Настройка СОМ-порта из под модуля

Сообщение Denjs »

1) при чем тут ядро?
2) при чем тут filp_open ? простой open не гут?
3) вам для С\С++ вообще? если так - отошлю вас например к своему otpdlinks.berlios.de . Может и запутано, но все есть.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Segment
Сообщения: 4

Re: Настройка СОМ-порта из под модуля

Сообщение Segment »

1) "из под модуля" это значит я пишу модуль для Linux
2) При том что я пишу в пространстве ядра
3) см. пункты выше. Пишу естественно на Си.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Настройка СОМ-порта из под модуля

Сообщение Denjs »

окак... гм... ладно, видимо я просто "не ходил туда где вы сейчас" )

а обычный путь не походит?
в стиле

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

            cfsetospeed(ptermios,_BaudRate_constValue(baud_rate_));
            cfsetispeed(ptermios,_BaudRate_constValue(baud_rate_));
            ptermios->c_iflag &= ~(ICRNL| IGNCR | INPCK | ISTRIP | IXON | BRKINT);
            ptermios->c_oflag &= ~(OPOST| OLCUC| ONLCR| OCRNL| ONOCR| ONLRET |OFILL);
            ptermios->c_lflag=0;
            ptermios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CSIZE | CRTSCTS);
            fcntl(serial_fd, F_SETFL, 0);//
            tcflush(serial_fd, TCIFLUSH);//
            tcsetattr(serial_fd, TCSANOW, ptermios);

или tcsetattr тоже не доступен при написании модуля?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Segment
Сообщения: 4

Re: Настройка СОМ-порта из под модуля

Сообщение Segment »

нет, такое не прокатит
Спасибо сказали:
Аватара пользователя
halturin
Сообщения: 167
ОС: Linux

Re: Настройка СОМ-порта из под модуля

Сообщение halturin »

Denjs писал(а):
22.05.2008 23:46
окак... гм... ладно, видимо я просто "не ходил туда где вы сейчас" )

а обычный путь не походит?
в стиле

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

            cfsetospeed(ptermios,_BaudRate_constValue(baud_rate_));
            cfsetispeed(ptermios,_BaudRate_constValue(baud_rate_));
            ptermios->c_iflag &= ~(ICRNL| IGNCR | INPCK | ISTRIP | IXON | BRKINT);
            ptermios->c_oflag &= ~(OPOST| OLCUC| ONLCR| OCRNL| ONOCR| ONLRET |OFILL);
            ptermios->c_lflag=0;
            ptermios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CSIZE | CRTSCTS);
            fcntl(serial_fd, F_SETFL, 0);//
            tcflush(serial_fd, TCIFLUSH);//
            tcsetattr(serial_fd, TCSANOW, ptermios);

или tcsetattr тоже не доступен при написании модуля?


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

"я даже воздухом не дышу" (с) Морфеус. Матрица. :-)
Спасибо сказали:
Segment
Сообщения: 4

Re: Настройка СОМ-порта из под модуля

Сообщение Segment »

И всетаки, ктонибудь подскажет как работать с сом-портом в модуле? Я в интернете нашел линк, но если честно нефкурил ничего.
Спасибо сказали:
Аватара пользователя
halturin
Сообщения: 167
ОС: Linux

Re: Настройка СОМ-порта из под модуля

Сообщение halturin »

тут смотрел?

http://tldp.org/LDP/lkmpg/2.6/html/index.html

и тут...
http://lwn.net/Kernel/Index/

а еще... почитай умную книжечку под названием "Understanding The Linux Kernel". дабы не бегать по всему инету и не ломать моцк как же правильно спросить у гуглы, чтобы он выдал пряму сцылу до книжечки:

http://www.google.com/linux?hl=ru&q=Un...1%D0%BA&lr=
Спасибо сказали: