![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
DruidCat |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 15.10.2013 Пользователь №: 3958 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Выделено из темы QtSerialPort, Проблема сборки
Спасибо за совет kuzuils. Помогло. Я хотел бы выложить свою первую программу на QT. Я её писал и заодно учился QT. Данную программу я написал в IDE Eclipse Kepler + QT 5.1.1. for Windows (MinGW 4. ![]() Это Терминал. Он принимает и отправляет символы по последовательному порту. Так, что если у кого из новичков возникнут вопросы на эту тему, можете заглянуть в исходный код, и будет вам счастье. Еще хочу сказать про работоспособность, когда я написал простенькую программу на своем МК AVR 328P и сказал ему циклично выводить одну строчку строчку со скоростью 115200 baud. То, когда я подключал сом порт, у меня программа зависала. А если например МК сказать, выслать циклично одну строчку 100 раз. То программа принимает эту строчку 100 раз, но подключал я сом порт до того как начинал посылать 100 раз строчку. Одним словом, у меня знаний не хватает понять, почему так происходит. Так же терминал не понимает кириллические шрифты, я в документации QT нарыл шрифты, типа "Times" и тому подобные, но они не кириллические. ![]() PS: Если кто увидит проблемные места (корявый код) в программе, пожалуйста отпишитесь. Я из тех людей, кто любит учиться и для меня чужой опыт очень ценен.
Прикрепленные файлы
|
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Если кто увидит проблемные места (корявый код) в программе, пожалуйста отпишитесь. Я из тех людей, кто любит учиться и для меня чужой опыт очень ценен. Ну, лучше этот пост вынести в отдельную тему - ибо он уже не относится к QtSerialPort (это к модераторам). А так, по коду: очень много конструкций вида
лучше сделать через else if
чтобы не проверялись все условия для одной строки: если одно совпало, другие уже не совпадут. сравнение строк - очень медленная операция. в данном случае это единичные вызовы, но в более серьёзной программе такие if-ы сожрут процессор. а что касается открытия порта с зависанием, то вот тут, в ответе, человек очень подробно исследовал данную проблему и пришёл к выводу, что сначала надо открыть порт, а потом уже выставлять все его параметры. это бага (или фича) QSerialPort. Сообщение отредактировал Iron Bug - 23.10.2013, 18:44 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 3:41 |