ffobos
Интересующийся
Offline
|
|
« : 19-01-2011 06:44 » |
|
Всем новичкам! Кто желает изучить C/C++ *NIX, предлогаю изучать совместно. Также выкладывать свои достижения, делится опытом, задавать глупые вопросы и получать умные ответы или на оборот и т.д.
|
|
« Последнее редактирование: 20-01-2011 02:50 от ffobos »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #1 : 19-01-2011 07:12 » |
|
Какая программа изучения?
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
RXL
|
|
« Ответ #2 : 19-01-2011 07:14 » |
|
ffobos, почитай вот это - может поможет: https://club.shelek.ru/view.php?id=3Ну и орфографический словарик еще порекомендую.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #3 : 19-01-2011 07:16 » |
|
Какая программа изучения?
в смысле дистрибутив? или замысел темы? Добавлено через 33 минуты и 40 секунд:пример первый, наверное многие уже пробовали первую программу Hello world #include <stdio.h>
int main(void)
{
printf("Hello world!\n");
return(0);
} А как зделать чтобы текст выводися в определенной части экрана? #include <stdio.h> #define ESC "\033"
int x = 20; int y = 10;
int main(void) { printf(ESC "[2J") >= 0;/*очиска экрана*/
/*вывод текста по x, y точка отчета в верхнем левом углу*/ printf(ESC "[%d;%dHHello world!\n", y, x) >= 0;
return(0);
}
тагже можно в строке printf(..... вместо "[%d;%dH например указать координаты "[10;20H
|
|
« Последнее редактирование: 19-01-2011 07:50 от ffobos »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #4 : 19-01-2011 07:19 » |
|
Зачем мне "дестрюбютив"?
Когда изучают какой-то предмет, обычно составляют программу, что именно, в какой последовательности и объеме будет изучено.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
McZim
|
|
« Ответ #5 : 19-01-2011 07:20 » |
|
Ну и орфографический словарик еще порекомендую.
кардинаты
мда, видимо в армии совсем плохо
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #6 : 19-01-2011 07:21 » |
|
Добавлено через 3 минуты и 16 секунд:Ну и орфографический словарик еще порекомендую.
кардинаты
мда, видимо в армии совсем плохо я не виновен что здесь нет правки отправленого сообщения, а голова и так кипит некогда смотреть за ошибками. Добавлено через 1 час, 3 минуты и 48 секунд:нашел правку! у меня браузер крива показыват. не все высвечивал
|
|
« Последнее редактирование: 19-01-2011 08:28 от ffobos »
|
Записан
|
|
|
|
McZim
|
|
« Ответ #7 : 19-01-2011 08:01 » |
|
нашол правку!
ffobos, если наш Ел, то исправляй!
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Sla
|
|
« Ответ #8 : 19-01-2011 08:06 » |
|
ffobos, похвальное желание. Но по глазам режет
тагже дестрюбютив крива
а эта фраза убила да это может помоч, но если комуто чтото непонятно, и неукого спросить, начнут открывать кучю тем и форум просто утонит в темах.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dale
|
|
« Ответ #9 : 19-01-2011 08:16 » |
|
Грамматика еще полбеды, тут, пожалуй, девять из десяти пишут ничуть не лучше...
С программой курса давайте определимся.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Вад
|
|
« Ответ #10 : 19-01-2011 08:24 » |
|
Двигаю тему в "Начинающим" - всё-таки, "C/C++" - ветка для более основательных вопросов.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #11 : 19-01-2011 10:45 » |
|
Признаться, почему управляющие коды ANSI-терминала названы "изучение UNIX", я не понимаю... С тем же успехом это и изучение MS-DOS, например...
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
RXL
|
|
« Ответ #12 : 19-01-2011 22:40 » |
|
Дим, в DOS драйвер ansi.sys был ограниченным. Последовательностей там существенно больше. Мне особенно нравились последовательности запоминания и восстановления позиции курсора.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #13 : 20-01-2011 02:46 » |
|
Признаться, почему управляющие коды ANSI-терминала названы "изучение UNIX", я не понимаю... С тем же успехом это и изучение MS-DOS, например...
Скорей всего потому что они используюся в UNIX тоже, да и UNIX изначально это терминальная OC, это позже начали навешевать графические оболочки, а DOS ка был DOS-ом, так и остался. У DOS вроде толька одна графическа оболочка WINDOWS 3.... и то жила не долго.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #14 : 20-01-2011 06:32 » |
|
Мне особенно нравились последовательности запоминания и восстановления позиции курсора. Они в DOS были
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Sla
|
|
« Ответ #15 : 20-01-2011 07:41 » |
|
ffobos, не говори глупостей, если не знаешь.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #16 : 20-01-2011 08:22 » |
|
хм, точно помню ещё оболочки - нортон, волков )
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #17 : 20-01-2011 10:20 » |
|
Dos Navigator - мощная штука, в ней даже табличный процессор был встроенный
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #18 : 21-01-2011 02:15 » |
|
нортон, волков, Dos Navigator- это разве графические оболчки?
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #19 : 21-01-2011 04:44 » |
|
ffobos, не говори глупостей, если не знаешь.
не мог бы ты пояснить? я честно не понял толи ты про Win1, 2, 3, 3.1 не согласен, то ли про отсутсвие GUI в unix
|
|
|
Записан
|
Странно всё это....
|
|
|
Oldy
|
|
« Ответ #20 : 21-01-2011 05:19 » |
|
В MS DOS был Shell. У DR DOS, NW DOS и пр. были свои оболчки подобные Shell.
|
|
« Последнее редактирование: 21-01-2011 05:23 от Oldy »
|
Записан
|
С уважением, Oldy.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #21 : 21-01-2011 05:34 » |
|
нортон, волков, Dos Navigator- это разве графические оболчки?
точно не текстовые. Окна, мышь, полосы прогресса, кнопки - все дела. И неважно, что всё это нарисовано цветным текстом и фоном Принцип общения с пользователем то уже совершенно другой - визуальный
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #22 : 21-01-2011 06:32 » |
|
И все-таки по теме.
Планируется ли планомерное изучение материала, или это будет просто коллекция фокусов типа "адресовать курсорчик в текстовом окошке", "помигать лампочкой Scroll Lock", "подвигать туды-сюды лоточком DVD-ROM" и в том же духе? Если первое, я с удовольствием поучаствую. Если второе - без меня.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #23 : 22-01-2011 03:11 » |
|
Предположем ситуацию когда надо чтобы программа постоянно была в цикле но при этом надо ожидать нажатия клавиши. Следующий код проверяет нажатия клавиши но при этом продолжает выполнять цикл. #include <stdio.h> #include <stdlib.h> #include <termios.h> int c; int main (int argc, char ** argv) { struct termios oldsettings, newsettings; tcgetattr(fileno(stdin), &oldsettings); newsettings = oldsettings; newsettings.c_lflag &= ~(ECHO|ICANON|ISIG); newsettings.c_cc[VMIN] = 0; newsettings.c_cc[VTIME] = 0; tcsetattr(fileno(stdin), TCSANOW, &newsettings); while((c=getchar()) != 'q') { sleep(1); printf("%x\n", c); } tcsetattr(fileno(stdin), TCSANOW, &oldsettings); return EXIT_SUCCESS; }
При нажатии на «q» завершает цикл Добавлено через 5 минут и 3 секунды:И все-таки по теме.
Планируется ли планомерное изучение материала, или это будет просто коллекция фокусов типа "адресовать курсорчик в текстовом окошке", "помигать лампочкой Scroll Lock", "подвигать туды-сюды лоточком DVD-ROM" и в том же духе? Если первое, я с удовольствием поучаствую. Если второе - без меня.
надо открыть тему "разговоры не очем".
|
|
« Последнее редактирование: 22-01-2011 03:16 от ffobos »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #24 : 22-01-2011 03:22 » |
|
Зачем открывать новую? Вполне можно переименовать эту. Если открыть еще одну, будет целых две темы ни о чем.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #25 : 22-01-2011 04:02 » |
|
Зачем открывать новую? Вполне можно переименовать эту. Если открыть еще одну, будет целых две темы ни о чем.
Вообще-то я хотел здесь пообщаться с себе подобными (кто только взялся изучать С) обменяться знаниями да и помощь профессионала не плохо было-бы получить. Добавлено через 3 минуты и 49 секунд:Зачем открывать новую? Вполне можно переименовать эту. Если открыть еще одну, будет целых две темы ни о чем.
Вообще-то я хотел здесь пообщаться с себе подобными (кто только взялся изучать С) обменяться знаниями да и помощь профессионала не плохо было-бы получить. хотя можно переименовать тогда я снова тему эту открою. надо с Админом соглосовать Добавлено через 15 минут и 50 секунд:нортон, волков, Dos Navigator- это разве графические оболчки?
точно не текстовые. Окна, мышь, полосы прогресса, кнопки - все дела. И неважно, что всё это нарисовано цветным текстом и фоном Принцип общения с пользователем то уже совершенно другой - визуальный еще как текстовые! все эти линии отрисованы готовыми сегментами, если их нет у тебя на клаве это незначит что их не существует, есть множество дополнительных аски таблиц, можеш даже сам создовать
|
|
« Последнее редактирование: 22-01-2011 04:22 от ffobos »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #26 : 22-01-2011 04:30 » |
|
ffobos, программирование не зависит от ОС. ОС только предоставляет интерфейс обшения с внешним миром. Так что, в самом начале нужно научиться программировать вообше, а затем уже играться с особенностями ОС. О чем, хоть и в очень саркастической манере, сказал Dale. Т.е. для тебя примерно должна быть такая программа изучения. 1) синтаксис языка. Пока не нужны шаблоны, но нужно захватить и понять ООП. 2) Изучение стандартных алгоритмов. 2+) Изучение стандартных библиотек. 3) Изучение шаблонов проектирования. 4) Шаблоны.
Пункты два и три нужны для того, чтобы не изобретать собственный велосипед.
|
|
« Последнее редактирование: 22-01-2011 04:34 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #27 : 22-01-2011 08:21 » |
|
ffobos, программирование не зависит от ОС. ОС только предоставляет интерфейс обшения с внешним миром. Так что, в самом начале нужно научиться программировать вообше, а затем уже играться с особенностями ОС. О чем, хоть и в очень саркастической манере, сказал Dale. Т.е. для тебя примерно должна быть такая программа изучения. 1) синтаксис языка. Пока не нужны шаблоны, но нужно захватить и понять ООП. 2) Изучение стандартных алгоритмов. 2+) Изучение стандартных библиотек. 3) Изучение шаблонов проектирования. 4) Шаблоны.
Пункты два и три нужны для того, чтобы не изобретать собственный велосипед.
благодарю! попытаюсь. Добавлено через 1 минуту и 39 секунд:подскажите как в ANSI курсор спрятать
|
|
« Последнее редактирование: 22-01-2011 08:23 от ffobos »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #28 : 22-01-2011 09:21 » |
|
ffobos, >>еще как текстовые! все эти линии отрисованы готовыми сегментами я и сказал, что всё текстовое. Но юзеру то, извиняюсь, глубоко насрать на это - у него линии и окошки
|
|
|
Записан
|
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #29 : 22-01-2011 09:43 » |
|
ffobos, >>еще как текстовые! все эти линии отрисованы готовыми сегментами я и сказал, что всё текстовое. Но юзеру то, извиняюсь, глубоко насрать на это - у него линии и окошки извеняюсь четал в спешке не внимателен был
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #30 : 22-01-2011 09:53 » |
|
ffobos, а отсутствие запятых и неправильные буквы в словах - тоже из-за спешки ?
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #31 : 22-01-2011 09:55 » |
|
подскажите как в ANSI курсор спрятать
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #32 : 22-01-2011 10:11 » |
|
ffobos, а отсутствие запятых и неправильные буквы в словах - тоже из-за спешки ? да Добавлено через 3 минуты и 6 секунд:подскажите как в ANSI курсор спрятать благодарю
|
|
« Последнее редактирование: 22-01-2011 10:14 от ffobos »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #33 : 22-01-2011 10:18 » |
|
ffobos, на этот раз поверю
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #34 : 22-01-2011 17:42 » |
|
По-моему, такое изучение управляющих последовательностей (по одной) не слишком продуктивно. Их ведь достаточно много. Я бы спросил по-другому: "Где можно посмотреть коды управляющих ESC-последовательностей для терминалов ANSI?". И ответил бы: "Например, здесь: http://portal.istra.ru/mirror/linuxdoc/www.linuxdoc.ru/manpages/man4/console_codes.4.html ". Все, вопрос полностью закрыт, можно приступать к изучению чего-то поинтереснее.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #35 : 24-01-2011 11:38 » |
|
Приходится по одной последовательности.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет. J. Ganssle
некогда заниматься визуализацией, срочно нужен демо режим.
Добавлено через 14 минут и 50 секунд: А про что здесь речь? ESC l Блокирование памяти (для HP-терминалов). Блокирует память выше курсора.
|
|
« Последнее редактирование: 24-01-2011 11:52 от ffobos »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #36 : 24-01-2011 12:06 » |
|
Насколько я помню, область выше курсора "замораживается", ее содержимое нельзя менять.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
RXL
|
|
« Ответ #37 : 25-01-2011 16:11 » |
|
Dale, в пределах экрана - можно - записью поверх.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Dale
|
|
« Ответ #38 : 25-01-2011 21:38 » |
|
А в чем тогда смысл блокировки?
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Sla
|
|
« Ответ #39 : 25-01-2011 22:07 » |
|
стоп... ESC l Блокирование памяти (для HP-терминалов). Блокирует память выше курсора. это специфическая последовательность... Вы где-нибудь видели HP терминалы?
вот как увидите, тогда поймете нахрена эта штука нужна.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #40 : 25-01-2011 22:18 » |
|
скорее всего, блокируется прокрутка текста (вернее, уезжание текста вверх)
как это было в Орионе
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #41 : 25-01-2011 22:41 » |
|
Не, для прокрутки есть отдельная ESC-последовательность, точно помню. Задается левый верхний угол окошка и правый нижний, и в этих пределах производится скроллинг, а остальная часть стоит на месте. Но при этом остальная часть не замораживается: если явно адресовать курсор за пределы окошка, можно менять содержимое.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #42 : 26-01-2011 04:56 » |
|
Как отследить работу мыши в терминале? Следующий код отслеживает работу не только клавиатуры но мыши #include <errno.h> /* Объявления кодов ошибок */ #include <time.h> #include <stdlib.h> #include <termios.h> int c; int main (int argc, char ** argv) { struct termios oldsettings, newsettings; tcgetattr(fileno(stdin), &oldsettings); newsettings = oldsettings; newsettings.c_lflag &= ~(ECHO|ICANON|ISIG); newsettings.c_cc[VMIN] = 0; newsettings.c_cc[VTIME] = 0; tcsetattr(fileno(stdin), TCSANOW, &newsettings); printf(ESC "[?9h") >= 0; while((c=getchar()) != 'q') { sleep(1); printf("%x\n", c); } tcsetattr(fileno(stdin), TCSANOW, &oldsettings); printf(ESC "[?9l") >= 0; return EXIT_SUCCESS;
} при нажатие левой кнопки мыши, на экране выдаст следующию последовательность; 1b - ESC 5b - [ 4d - M 20 - нажатия кнопки 22 - X 21 - Y начало координат X,Y верхний левый угол терминала 20, 20.
|
|
|
Записан
|
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #43 : 02-10-2011 09:38 » |
|
Господа подскажите код, как в QT сделать управления rs232
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #44 : 02-10-2011 16:11 » |
|
ffobos, Через Qt скорее всего никак. Если ты работаеш в Linux. То у rs232 должен быть в /dev файл устройства. С ним напрямую и работатай. Или на уровне драйверов, если возможностей не хватает.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #45 : 03-10-2011 06:22 » |
|
|
|
|
Записан
|
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #46 : 09-10-2011 04:33 » |
|
ffobos, Через Qt скорее всего никак. Если ты работаеш в Linux. То у rs232 должен быть в /dev файл устройства. С ним напрямую и работатай. Или на уровне драйверов, если возможностей не хватает.
При работе на C я могу управлять портами но там надо задавать параметры порта скорость,четность итд. а как это делать в С++?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #47 : 09-10-2011 05:31 » |
|
ffobos, в языках Си и C++ нет последовательных портов. Зато поддержка есть на уровне API и не важно, из какого языка делаются вызовы к нему.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #48 : 09-10-2011 08:29 » |
|
не черта не получается
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #49 : 09-10-2011 13:12 » |
|
А подробнее?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
DneprSMV
|
|
« Ответ #50 : 09-10-2011 18:59 » |
|
ffobos, Есть отличная книжка - с комплектом примеров Системное программирование на C++ для Unix Теренс Чан. Посмотри, может пригодится.
Добавлено через 21 минуту и 45 секунд: ps - если нужна работа с последовательным устройством поищи исходники системной утилиты stty.
|
|
« Последнее редактирование: 09-10-2011 19:21 от DneprSMV »
|
Записан
|
"Не слушайте никаких советов, в том числе и этот" (Сократ ?)
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #51 : 10-10-2011 02:08 » |
|
подробнее void GelixRed::COMOpen() {QFile COMFile("/dev/ttyUSB2"); if(!COMFile.open(QIODevice::ReadWrite)) {strTerm=("error open port");}
struct termios Options; /*структура для установки порта*/
tcgetattr(COMFile.handle(), &Options); /*читает пораметры порта*/
cfsetispeed(&Options, B115200); /*установка скорости порта*/ cfsetospeed(&Options, B115200); /*установка скорости порта*/
Options.c_cflag &= ~PARENB; /*выкл проверка четности*/ Options.c_cflag &= ~CSTOPB; /*выкл 2-х стобит, вкл 1 стопбит*/ Options.c_cflag &= ~CSIZE; /*выкл битовой маски*/ Options.c_cflag |= CS8; /*вкл 8бит*/ tcsetattr(COMFile.handle(), TCSANOW, &Options); /*сохронения параметров порта*/ } в режиме отладке пишет: &"warning: GDB: Failed to set controlling terminal: \320\235\320\265\320\264\320\276\320\277\321\203\321\201\321\202\320\270\320\274\321\213\320\271 \320\260\321\200\320\263\321\203\320\274\320\265\320\275\321\202\n"
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #52 : 10-10-2011 06:13 » |
|
>>Недопустимый аргумент
(в аттаче - самописная утилитка для конвертации таких последовательностей, если нужно. Правда, она виндовая)
|
|
« Последнее редактирование: 10-10-2011 06:16 от Алексей1153++ »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #53 : 10-10-2011 06:31 » |
|
"controlling terminal" - это к последовательному порту в данном случае не относится. У каждого процессора может быть управляющий терминал. Даже у фоновых задач. Они от него зависят, могут быть вызваны из фона в интерактивный режим, могут сами из фона запрашивать работу с терминалом (например, для ввода пароля), а также получат сигнал HUP при закрытии терминала. Отключенные от терминала процессы считаются демонами. У меня сохранился мой старый-старый код для настройки последовательного потрта. Полностью рабочий. tcgetattr(ftty, &tios); tios.c_iflag = IGNBRK; tios.c_oflag = 0; tios.c_lflag = 0; tios.c_cc[VMIN] = 1; tios.c_cc[VTIME] = 0; tios.c_cflag = CLOCAL | CREAD; tios.c_cflag |= CS8;
switch('N' /* управление потоком: None, Software (xon/xoff), Hardware */) { case 'N': break; case 'S': tios.c_cflag |= IXON | IXOFF; tios.c_cc[VSTOP] = 0x13; tios.c_cc[VSTART] = 0x11; break; case 'H': tios.c_cflag |= CRTSCTS; break; }
cfsetspeed(&tios, 115200); tcsetattr(ftty, TCSANOW, &tios);
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
ffobos
Интересующийся
Offline
|
|
« Ответ #54 : 25-10-2011 06:00 » |
|
пишет туже ошибку
|
|
|
Записан
|
|
|
|
|