LINUX.ORG.RU

Сообщения sergvnovg

 

Com-port скорость

Форум — Development

Здравствуйте! Настроил работу через USB адаптер с внешним устройством. При замыкании петли (соединении Rx Tx) ошибок нет. Параметры в системе:

serg@serg-desktop:~$ stty -F /dev/ttyUSB0 speed 115200 baud; line = 0; min = 0; time = 1; -brkint -imaxbel -opost -isig -icanon -echo

Связь с внешним устройством есть, но с ошибками. При внимательном рассмотрении по осциллографу визно, что скорость порта много выше (что то около 2000000) Где порыта собака? Подбирать константу В115200 самому?

 ,

sergvnovg
()

Com-port настройка

Форум — Development

Здравствуйте! Работаю с внешним устройтвом com-port, через USB. Не могу добиться возврата из фунции чтения в блокиружщем режиме, при отсутсвии сигнала.

Инициализация порта:

int fd = open(«/dev/ttyUSB0», O_RDWR | O_NOCTTY ); if (fd <= 0) { cout << "port open error "; fd = 0; return 1; }

tcgetattr(fd,&oldtio); // save current port settings tcgetattr(fd,&newtio); // save current port settings

newtio.c_lflag &= ~(ICANON|ECHO|ISIG); newtio.c_cflag |= B115200 | CS8 | CLOCAL | CREAD; newtio.c_cflag &= ~(CRTSCTS | PARENB | CSTOPB | CSIZE); newtio.c_oflag &= ~OPOST;

newtio.c_cc[VTIME] = 1;
newtio.c_cc[VMIN] = 1;
tcflush(fd, TCIFLUSH); tcsetattr(fd,TCSANOW,&newtio); cout<<"open port "; return 0;

// Чтение

ssize_t ret = read(fd, readbuf, num); if (ret==-1){ cout<<«Error tty»; return 1; }

if (ret!=num){ cout<< «Error read» + to_string(ret); return 2; } return 0;

Если от внешнего устройства нет данных (при разрыве и т.п.) функции read блокирует поток.

По описанию если флаг newtio.c_cc[VTIME] = 1; фунция должна через 0,1 секунду вернуть значение 0 (данных нет)

 ,

sergvnovg
()

Использование Gtk::Entry

Форум — Development

Здравствуйте. Задание написать GUI приложение по линукс. Использую Gtkmm.

Создал окно, в окне поле ввода Gtk::Entry. Не могу найти для Gtk::Entry способ изменит шрифт. Поиск по форуму не увенчался успехом :-(

 

sergvnovg
()

RSS подписка на новые темы