Strona 1 z 1

[c/c++] QT Creator linkowanie

: 25 sty 2010, 11:49
autor: xellos07
Witam serdecznie pisze swoja pierwsza aplikacje na linuxa i wogole na PC (mam male doswiadczenie w pisaniu programow na uC)

Moja aplikacja wyglada narazie tak (jej zadaniem jest otworzyc port szeregowy , wyslac jakies znaki np A i zamknac go) :
main.cpp

Kod: Zaznacz cały

 
#include </home/xellos/qt/03_konsola/qextserialport/posix_qextserialport.h>
#include </home/xellos/qt/03_konsola/qextserialport/qextserialbase.h>
#include <QtCore/QCoreApplication>
#include <QtCore/QString>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

//Posix_QextSerialPort *RS232=new posix_QextSerialPort(?/dev/ttyACM0?);
//Posix_QextSerialPort RS232(?/dev/ttyACM0?);
Posix_QextSerialPort *RS232 = new Posix_QextSerialPort("/dev/ttyACM0");
RS232->setBaudRate(BAUD19200); //com1,19200,n,8,1
RS232->setFlowControl(FLOW_OFF);
RS232->setParity(PAR_NONE);
RS232->setDataBits(DATA_8 );
RS232->setStopBits(STOP_1);
if (RS232->open()) {
//RS232->putch(?a?);
//RS232->putch(?a?);
QString message(?010C\r?);   // tu pojawia sie blad -
RS232->flush();
RS232->close();
}

return a.exec();
}


blad ktory sie pojawia to :
: error: invalid suffix "C" on integer constant
z tym ze jest to przyklad przepisany ze strony itnernetowej i ma dzialc bezblednie
gdy odkomentuje
RS232->putch('a'); pojawi sie blad ze biblioteka z ktorej krozystam do wysylania czegos na port com nie ma w sobie funkcji putch
tak wiec - w czym jest problem ?
czy mam jakas bledna konfiguracje ?
zawartosc pliku pro

Kod: Zaznacz cały

QT       -= gui

TARGET = 03_konsola
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp
INCLUDEPATH +=  /home/xellos/qt/03_konsola/qextserialport/
QMAKE_LIBDIR += /home/xellos/qt/03_konsola/qextserialport/build


LIBS += -lqextserialport
unix:DEFINES = _TTY_POSIX_
win32:DEFINES = _TTY_WIN_ QWT_DLL QT_DLL


Odp: [c/c++] QT Creator linkowanie

: 25 sty 2010, 20:44
autor: mikolajs
Wydaje się logiczne, że należy zakomentować linijkę w której jest błąd. Nie rozumiem co ma oznaczać QString message(?010C\r?) i do czego służy. Bo raz że niegdzie nie wyświetlasz tego QStringa a druga sprawa, co oznaczają "?" A może po prostu ma tam być cudzysłów??? (podobnie przy putch())