![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
posi4 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 52 Регистрация: 24.4.2009 Пользователь №: 707 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Пишу в QtCreatore, вот такая вот функция main
вот сам класс:
И теперь кто-нибудь подскажите, почему у меня не получается ничего получить в файл? Подозреваю что сигнал/слот не работают? Если же просто методом воспользоваться, данные читаются и записываются в файл! |
|
|
igor_bogomolov |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй так.
|
|
|
posi4 |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 52 Регистрация: 24.4.2009 Пользователь №: 707 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй так.
Да теперь работает, но почему-то файл записывается нулевого размера! =0 Прикол в том что когда идёшь дебагом всё нормально, т.е. сколько получил по порту столько и записалось и так и должно быть по моему мнению. Но когда просто запускаешь на выполнение, файл получается!!! НО нулевой! Это что баг Creatora или я чего-то не знаю?? |
|
|
igor_bogomolov |
![]()
Сообщение
#4
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Да теперь работает, но почему-то файл записывается нулевого размера! =0 Creator здесь ни причем. У меня у самого была подобная проблема (кстати, и задача почти такая же стояла). Но связано это было с неправильной работой с самим прибором, и настройкой порта. У меня устройство USB, правда, но работаю с ним через USB_COM, так что разницы нет. Могу поделиться исходничками, мне не жалко. Там нет ничего секретного. ![]() Вот как у меня осуществлялась инициализация порта Раскрывающийся текст
|
|
|
AD |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Извините, что вмешиваюсь. А где вы взяли QextSerialPort? В документации по Qt 4.3.2 я его не нашел, потому работаю напрямую с Windows-средствами...
|
|
|
igor_bogomolov |
![]()
Сообщение
#6
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Извините, что вмешиваюсь. А где вы взяли QextSerialPort? В документации по Qt 4.3.2 я его не нашел, потому работаю напрямую с Windows-средствами... QextSerialPortЭто сторонняя библиотека. Для тех кто использюет WinAPI, для работы с портом, предлогаю ссылочку. Лучшее что я смог найти по теме http://www.book-ua.org/FILES/electrotech/2...electr01813.pdf |
|
|
AD |
![]()
Сообщение
#7
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Скачал, скомпилировал. А есть возможность просмотра документации по QextSerialPort в Ассистенте? Если есть, как настроить?
|
|
|
igor_bogomolov |
![]()
Сообщение
#8
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
AD, ты стал обладателем 10000 сообщения в разделе Qt.
![]() ![]() ![]() Документация собирается Doxygen-ом. В нем есть возможность создовать и qch. Но сам я этого никогда не делал. Смотри оф. документацию. |
|
|
posi4 |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 52 Регистрация: 24.4.2009 Пользователь №: 707 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Но связано это было с неправильной работой с самим прибором, и настройкой порта. И всё таки не понимаю как это связано, ведь в режиме дебага всё нормально!?! Настройки портов идентичные. У меня подозрение, что то непонятное происходит в момент открытия и записи в файл. И вот ещё что! Другая функция, которая уже пишет в порт: не буду приводить код, суть проста - пишу в порт port->write(bytear); , где bytear - QByteArray из восьми элементов, получаю на другом конце 20 байт! Как такое может быть? ![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#10
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Настройки не совсем одинаковые. У меня
Цитата port->setFlowControl(FLOW_HARDWARE); При больших скоростях, лучше пользоваться этой настройкой.получаю на другом конце 20 байт! Как такое может быть? Запросто. В буфере уже есть какой то мусор. Поэтому при создании порта я делаюЦитата port->readAll(); , чтобы очистить буфер. Смотри еще раз мой код.P.S. Я для отладки делал себе перемычку. P.P.S. Когда сомневаешmся всегда есть возможность посмотреть прием\передачу через терминал. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.3.2025, 10:26 |