Настройка СОМ-порта из под модуля
Модератор: Модераторы разделов
-
- Сообщения: 4
Настройка СОМ-порта из под модуля
Открыто, к примеру, "/dev/ttyS1" с помощью filp_open. Собственно какими методами ядра можно поменять baudrate и тому подобное(c_flags, i_flags...) имея стуктуру termios. Искал, но ничего конкретного не нашел. Помогите пожалуйста.
-
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Настройка СОМ-порта из под модуля
1) при чем тут ядро?
2) при чем тут filp_open ? простой open не гут?
3) вам для С\С++ вообще? если так - отошлю вас например к своему otpdlinks.berlios.de . Может и запутано, но все есть.
2) при чем тут filp_open ? простой open не гут?
3) вам для С\С++ вообще? если так - отошлю вас например к своему otpdlinks.berlios.de . Может и запутано, но все есть.
-
- Сообщения: 4
Re: Настройка СОМ-порта из под модуля
1) "из под модуля" это значит я пишу модуль для Linux
2) При том что я пишу в пространстве ядра
3) см. пункты выше. Пишу естественно на Си.
2) При том что я пишу в пространстве ядра
3) см. пункты выше. Пишу естественно на Си.
-
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Настройка СОМ-порта из под модуля
окак... гм... ладно, видимо я просто "не ходил туда где вы сейчас" )
а обычный путь не походит?
в стиле
или tcsetattr тоже не доступен при написании модуля?
а обычный путь не походит?
в стиле
Код: Выделить всё
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 тоже не доступен при написании модуля?
-
- Сообщения: 4
Re: Настройка СОМ-порта из под модуля
нет, такое не прокатит
-
- Сообщения: 167
- ОС: Linux
Re: Настройка СОМ-порта из под модуля
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 могу сказать что оно работать не будет. даже не соберется. работа в ядре совершенно отлична от работы в юзерспейсе.
"я даже воздухом не дышу" (с) Морфеус. Матрица. :-)
-
- Сообщения: 4
Re: Настройка СОМ-порта из под модуля
И всетаки, ктонибудь подскажет как работать с сом-портом в модуле? Я в интернете нашел линк, но если честно нефкурил ничего.
-
- Сообщения: 167
- ОС: Linux
Re: Настройка СОМ-порта из под модуля
тут смотрел?
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=
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=