Hallo, ich habe einen USB Teensy 2++ und möchte gerne über das HID Listen Programm Text und Zahlen (variablen) ausgeben. Jedoch geht das leider nicht. Text schon aber Zahlen funktionieren nicht. Mit der Funktion Phex geht es. print, printf oder sprintf geben aber nichts aus. print (); Gibt leider nur Text aus. Alles andere funktioniert nicht =( Die Orriginal Datein habe ich von http://www.pjrc.com/teensy/hid_listen.html dort habe ich auch das HIDListen Programm her. Vll. kann mir wer helfen. Oder hat jemand eine bessere Idee wie ich mit dem uC Zeichen,Zahlen und Text am Pc ausgeben kann? Mfg Elias
> sprintf("%c plus %c ist gleich %c.", 1, 1, "Fünf");
Wie wärs erst mal mit einem C-Buch?
1 | char buffer[40]; |
2 | |
3 | sprintf(buffer, "%d plus %d ist gleich %s.", 1, 1, "Fünf"); |
4 | print( buffer ); |
sprintf gibt sowieso nichts direkt aus. sprintf schreibt seine Ergüsse lediglich in ein char-Array. es obliegt dann dir, dieses char-Array, vulgo 'den String', auszugeben. Und sieh dir die Sache mit den Format-specifiern an. Du kannst nicht einfach irgendwas in den Format String reinschreiben und hoffen, das passt dann schon irgendwie.
Danke für die Antwort,
die Funktion spintf ist mir bekannt, habe ich mir gestern durchgelesen.
Das Problem ist es funktioniert trotzdem nicht.
char buffer[40];
sprintf(buffer, "%d plus %d ist gleich %s.", 1, 1, "Fünf");
print( buffer );
Error: Invalid initializer
mit der Fehlermeldung fange ich leider nichts an.
Ebenso ist es mir bewusst das ich Variablen nicht einfach über printf
ausgeben kann....ohne sie dementsprechend vorzubereiten.
Ich habe gestern und heute schon einiges probiert komme aber hier
absolut nicht weiter.
Elias 1234 schrieb: > char buffer[40]; > > sprintf(buffer, "%d plus %d ist gleich %s.", 1, 1, "Fünf"); > print( buffer ); > > Error: Invalid initializer > > mit der Fehlermeldung fange ich leider nichts an. zeig bitte den ganzen Kontext. Also das was du in deinem Programm dann tatsächlich eingebaut hast. "invalid initializer" ist ja eigentlich selbsterklärend. Ein initializer ist ein Sprachkonstrukt, welches etwas initialisiert (also eine erste Belegung einer Variablen herstellt). Und deiner ist eben invalid, also ungültig. PS: Dir ist schon bewusst, dass ich hier nur den relevanten Abschnitt der Änderung bzw. Ergänzung in der Antwort angegeben habe? In dein Programm einbauen, und zwar korrekt einbauen, musst du es schon selber.
Ich will doch einfach nur eine Variable die selbst definiere auf meinem Bildschirm ausgeben. int Puffer [40]; // Int Array 40 Zeichen lang wird angelegt (leer) int x = 12; //int variable die den Wert 12 annimmt sprintf(Puffer, "%d", x); // ich vermute hier wird die int variable in den Puffer gelegt print(Puffer) //Ausgabe des Inhalts welcher Im Array von Puffer steht und genau bei der letzten Zeile meldet der Compiler diesen Fehler. Was mache ich falsch? Es tut mir leid, ich bin ein Laie was programmieren betrifft und hoffe Ihr habt Verständins.
Elias 1234 schrieb: > Es tut mir leid, ich bin ein Laie was programmieren betrifft und hoffe > Ihr habt Verständins. Das einzige wofür ich kein Verständnis habe ist * warum du nicht dein vollständiges Programm postest * warum du, gerade wenn du Anfänger bist, nicht in deinem C-Buch auf der Seite 1 mit lesen, lernen und üben anfängst. und zwar auf dem PC.
Elias 1234 schrieb: > die Funktion spintf ist mir bekannt Das darf man bezweifeln, denn sonst... Elias 1234 schrieb: > int Puffer [40]; wüsstest Du, dass das kein int-Puffer ist, der benötigt wird.
wo erwartest du mit deinem "print" überhaupt die Ausgabe? Soll das über das HID device gehen oder an den Uart? Wo ist "print" definiert?
Die Ausgabe soll mit der hid_listen.exe ausgegeben werden. Gewöhnliche print () Ausgaben funktionieren dort.
stimmt...x ist immer 12 x==12 überprüft ob x 12 ist. danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.