
Zitat von
palermo
Hallo Travolds
Meintest du das so? (hast du absichtlich vor sharp kein " geschrieben?)
nein ich hatte es so gemeint:
Code:
#include "qfixBobbyBoard.h"
#include "qfixLCD.h"
BobbyBoard bobby;
LCD lcd;
int main()
{
char wert[3+1];
while (1) {
lcd.clear();
int sharp = bobby.analog(0);
sprintf(wert, "%d", sharp);
lcd.print(0, 0, wert);
}
}
kurz als erklärung:
zeile "char wert[3 + 1];":
du hast ja gesagt du hast maximal 300 als wert also 3 zeichen,
der wert soll also in einen string umgewandelt werden. für jedes zeichen muss speicher reserviert werden. wir müssen also ein array mit 4 zeichen anlegen.
du denkst dir sicher es würden dann ja 3 zeichen reichen, aber das ist nur bedingt der fall.
in c wird ein string immer mit '\0' abgeschlossen. dies kennzeichnet das ende eines strings. '\0' ist ein weiters zeichen und muss unbedingt berücksichtigt werden, wenn du mit string funktionen arbeitest.
zeile sprintf:
siehe link von meinem ersten post 
zeile "lcd.print(0, 0, wert);":
an die unterfunktion lcd.print wird ein pointer auf die daten übergeben. ein pointer zeigt auf eine speicherstelle in der dein wert steht. in unserem fall steht der string in der variable "wert" welche auf irgendeine speicherstelle zeigt.
hoffe das ist verständlich 

Zitat von
palermo
PS: Sorry an alle wegen meiner Dummheit - ich programmiere noch nicht so lange.
mach dir da drüber keine gedanken jeder hat mal klein angefangen. trotzdem würd ich dir nahelegen, dir irgendeinen c kurs reinzuziehen. spätestens bei einem komplexeren programm wirds dich aufschmeissen mit pointern sag ich mal 
wenn du aber zeit in zuerst lesen und dann probieren investierst, wirst du sicher viel mehr spass an der sache haben 
lg
Lesezeichen