Hallo zusammen,
ich muss ein Bluetoothadapter über serielle schnittstelle unter QNX anspreschen,der Bluetoothadapter soll auf AT-Befehle reagieren,alles fonktioniert soweit,aber das problem liegt bei mir darin an der read() Funktion,bekomme ich eine komische zahl als Rückgabe nbytes = -14252556!!
hat jemand eine Idee warum das nicht funktioniert !!
#include /* Standard input/output definitions */
#include //OUT8…
#include //THREAD
#include /* File control definitions */
#include
#include /* String function definitions */
#include
#include /* POSIX terminal control definitions */
#include
#include
#include
#include
#include
#include
#include
#include /* Error number definitions */
#include
#include
#include
#include /* UNIX standard function definitions */
#include
#include
#include //need for uintptr_t type
#include
#include
#include
struct termios options;
void open_port(int i,int BAUDRATE,char senbuffer[200]);
int main(int argc, char *argv[]) {
int cPort= 0;
int BAUDRATE =0 ;
char senbuffer[200];
String b(„B“);
std::cout > BAUDRATE;
b + BAUDRATE;
std::cout > cPort;
std::cout >senbuffer;
strcat(senbuffer,"\n");
std::cout even */
options.c_cflag &= ~CSTOPB;
/* Set 1 Stopbit */
options.c_cflag &= ~CSIZE;
/* Mask the character size bits */
//keine Paritaet
options.c_cflag |= CS8;
/* Select 8 data bits */
//Disable hardware flowcontrol
// options.c_cflag |= CRTSCTS;
//options.c_cflag |= CNEW_RTSCTS; /* Also
called CRTSCTS */
//Raw Data Ausgabe
options.c_oflag &= ~OPOST;
options.c_oflag |= ONLCR;
//Raw data Einlesen mit Parity-check
// options.c_lflag &= ~(ICANON | ECHO | ECHOE |
ISIG);
// options.c_lflag &= ~(ICANON |ISIG);
// options.c_iflag |= (INPCK | ISTRIP);
//cfmakeraw (&options); // real raw!
//Software flowcontrol ausschalten
options.c_iflag |= (IXON | IXOFF | IXANY);
//Neue Einstellungen sofort auf Port übertagen
tcsetattr(fd, TCSAFLUSH, &options);
if (tcsetattr(fd, TCSAFLUSH, &options) != 0)
{
perror(„terminal: tcsetattr() failed“);
}
printf(„Einstellungen wurden gespeichert\n“);
//Puffer leeren
tcflush(fd, TCIFLUSH);
flushall();
n = write(fd, senbuffer, strlen(senbuffer)); //Writing
data to the port
tcdrain(fd); //warten, bis alles gesendet.
std::cout