реклама на сайте
подробности

 
 
> Linux: настройка скорости COM порта выше 115200
ovp
сообщение Apr 4 2008, 13:26
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 18-10-07
Пользователь №: 31 459



Народ! Плиз хто может подскажите.
Нужно настроить СОМ порт в Linux на скорость 921600, при этом я пишу следуещее:
//=========================================================
//соответсвующие инклуды......

struct termios new_modem,old_modem;
int fdes;
char* port_name="/dev/ttyS0";
//=========================================================
int open_port(char* p_name)
{
fdes = open(p_name, O_RDWR);
if (fdes == -1)
{
printf("open_port: Unable to open %s ", p_name);
}
else
{
fcntl(fdes, F_SETFL, 0);
printf("port %s open \n",p_name);
}
return (fdes);
}
//=========================================================
void set_port_parametres(void)
{
tcgetattr(fdes,&old_modem);//Get current options for the port

new_modem.c_cflag=(B921600|CS8|CLOCAL|CREAD);
new_modem.c_lflag = 0;
new_modem.c_iflag = IGNPAR;
new_modem.c_oflag = 0;
new_modem.c_cc[VMIN] = 0;
new_modem.c_cc[VTIME]= 1;

tcflush(fdes, TCIFLUSH);
tcsetattr(fdes, TCSANOW, &new_modem); //set new options for the port
}
//==========================================================
int main ()
{
int status1;

open_port(port_name);
set_port_parametres();
ioctl(fdes,TIOCMGET,&status1);
status1&=~TIOCM_RTS;
ioctl(fdes,TIOCMSET,&status1); //RESET RTS after transmitt
fcntl(fdes, F_SETFL, FNDELAY);
}
//=======================================================

Все прекрасно компилится, работает со скоростями до 115200 включительно, а вот при попытке поставить скорость выше чем 115200 компиляция проходит без ошибок, но реальная скорость в СОМ порте не изменяется и остается 115200. Подскажите что нужно делать в таком случае. заранее спасибо.

help.gif help.gif help.gif help.gif help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Apr 7 2008, 13:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Посмотрите описание вашей материнки, там иногда указываются поддерживаемые COM-портом baud rate. Если сами не можете найти, то укажите здесь тип/модель/производителя вашей материнской платы. Например, на предыдущей моей MB Gigabyte GA-8PE800 COM-порты поддерживали только одну скорость передачи выше, чем 115200 - 128000.
Go to the top of the page
 
+Quote Post
ovp
сообщение Apr 7 2008, 13:47
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 18-10-07
Пользователь №: 31 459



Цитата(rezident @ Apr 7 2008, 16:38) *
Посмотрите описание вашей материнки, там иногда указываются поддерживаемые COM-портом baud rate. Если сами не можете найти, то укажите здесь тип/модель/производителя вашей материнской платы. Например, на предыдущей моей MB Gigabyte GA-8PE800 COM-порты поддерживали только одну скорость передачи выше, чем 115200 - 128000.

Спасибо за совет - посмотрю обяз.....Вопрос в следующем есть какая-то функция или системный запрос под линуксом что бы четко определить максимальный баудрейт для СОМ порта, поддерживаемый материнкой.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 17:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016