uwew Posted June 11, 2024 at 05:36 AM Share Posted June 11, 2024 at 05:36 AM Hallo. Ich arbeite mich derzeit in die Verwendung von Tinkerforge-Modulen mit QtCreator ein. Gestartet bin ich mit dem LCD128x64. Dabei hänge ich an folgendem Problem fest: Der folgende Code (main.cpp) schreibt nur dann auf das LCD128x64, wenn ich vor dem write-Befehl den destroy-Befehl absetze! Woran könnte das liegen? Herzlichen Dank für eure Hilfe #include "startwindow.h" #include <QApplication> #include "ip_connection.h" #include "bricklet_lcd_128x64.h" #define HOST "localhost" #define PORT 4223 #define UID "24Pm" int main(int argc, char *argv[]) { // Neu IPConnection ipcon; ipcon_create(&ipcon); // Create device object LCD128x64 lcd; lcd_128x64_create(&lcd, UID, &ipcon); // Connect to brickd if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect\n"); return 1; } // Don't use device before ipcon is connected // Clear display lcd_128x64_clear_display(&lcd); lcd_128x64_destroy(&lcd); // Write "Hello World" starting from upper left corner of the screen lcd_128x64_write_line(&lcd, 0, 0, "Hellllllllllo World"); QApplication a(argc, argv); StartWindow w; w.show(); return a.exec(); } Quote Link to comment Share on other sites More sharing options...
uwew Posted June 11, 2024 at 05:50 AM Author Share Posted June 11, 2024 at 05:50 AM Folgendes habe ich noch vergessen: Ich verwende einen iMac, mit QT 6.7.1. Der Brickviewer erkennt das LCD128x64 und kann auch schreiben. Quote Link to comment Share on other sites More sharing options...
photron Posted June 11, 2024 at 07:16 AM Share Posted June 11, 2024 at 07:16 AM Mich wundert eher, dass das nicht crashed mit lcd_128x64_destroy vor lcd_128x64_write_line. Das das so herum funktioniert ist eher Zufall. Dreh das mal bitte wieder um. lcd_128x64_write_line gibt einen int zurück. Gibt dir denn Wert mal bitte aus. Quote Link to comment Share on other sites More sharing options...
uwew Posted June 11, 2024 at 07:46 AM Author Share Posted June 11, 2024 at 07:46 AM Ich habe lcd_128x64_destroy auskommentiert. Rückgabewert von lcd128x64_write = 0 Quote Link to comment Share on other sites More sharing options...
uwew Posted June 11, 2024 at 07:47 AM Author Share Posted June 11, 2024 at 07:47 AM Lasse ich die destroy-funktion drin erhalte ich ebenfalls 0 Quote Link to comment Share on other sites More sharing options...
photron Posted June 11, 2024 at 08:45 AM Share Posted June 11, 2024 at 08:45 AM Füg mal bitte nach dem lcd_128x64_create Aufruf dies ein lcd_128x64_set_response_expected_all(&lcd, true); und lass das lcd_128x64_destroy weg, oder ruf es nach dem lcd_128x64_write_line auf. Quote Link to comment Share on other sites More sharing options...
uwew Posted June 11, 2024 at 02:11 PM Author Share Posted June 11, 2024 at 02:11 PM Also die Rückgabe-Werte der int-Funktionen (IPConnect, write und set_response) sind alle 0. Auf wundersame Weise funktioniert es jetzt - ich hab´s mehrmals probiert. Eine Ursache kann ich leider nicht erkennen. Ich probiere jetzt mal verschiedene Bricklets aus und melde mich gegebenenfalls wieder. erst mal vielen Dank Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.