crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

posi4
  опции профиля:
сообщение 19.6.2009, 14:12
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 52
Регистрация: 24.4.2009
Пользователь №: 707

Спасибо сказали: 0 раз(а)




Репутация:   0  


Пишу в QtCreatore, вот такая вот функция main
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MinotourGUI w;
    QextSerialPort* port = new QextSerialPort("COM1");
    port->setBaudRate(BAUD115200);
    port->setFlowControl(FLOW_OFF);
    port->setDataBits(DATA_8);
    port->setParity(PAR_NONE);
    port->setStopBits(STOP_1);
    port->open(QIODevice::ReadWrite);
    if(!(port->lineStatus() & LS_DSR))
    {
        QMessageBox::information(0,"Warning","Device is not turned on");
    }
    transmitter* tm = new transmitter(port);
    tm->connect(port, SIGNAL(readyRead()), tm, SLOT(recive()));
    SerialThread * thread = new SerialThread(port);
    thread->start();
    w.show();
    return a.exec();
}


вот сам класс:

class transmitter : public QObject
{

    Q_OBJECT

    QextSerialPort * port;

public:
    transmitter(QextSerialPort * port, QObject* parent = 0);
    quint8 GetControlSum(QByteArray, int);
    void WriteCom(char*);
private slots:
    void recive();
};

void transmitter::recive()
{
    int bytesavailable = port->bytesAvailable();
    char* data = new char[bytesavailable];
    port->read(data, bytesavailable);
    QFile file("file.dat");
    file.open(QFile::WriteOnly);
    file.write(data, bytesavailable);
    file.close();
}


И теперь кто-нибудь подскажите, почему у меня не получается ничего получить в файл?
Подозреваю что сигнал/слот не работают?
Если же просто методом воспользоваться, данные читаются и записываются в файл!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 22.6.2009, 12:27
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(AD @ 22.6.2009, 13:19) *
Извините, что вмешиваюсь. А где вы взяли QextSerialPort? В документации по Qt 4.3.2 я его не нашел, потому работаю напрямую с Windows-средствами...
QextSerialPort
Это сторонняя библиотека.


Для тех кто использюет WinAPI, для работы с портом, предлогаю ссылочку. Лучшее что я смог найти по теме
http://www.book-ua.org/FILES/electrotech/2...electr01813.pdf
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 22.6.2009, 12:55
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Скачал, скомпилировал. А есть возможность просмотра документации по QextSerialPort в Ассистенте? Если есть, как настроить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 17.3.2025, 10:53