-
-
Erfahrener Benutzer
Fleißiges Mitglied
Temperatur verarbeiten über Analog
Hallo Leute!!!
Stehe voll auf dem Schlauch, weiß nicht mehr weiter!
Habe in Googel nichts gefunden, was mir so richtig weiter geholfen hat.
Folgendes Problem:
Ich habe folgenden Code unter diesem Link
https://www.roboternetz.de/wissen/index.php/ADC_(Avr)
gefunden. (C/C++)
In bemerkungen steht "In result steht das Ergebnis."
Wie bearbeite ich diesen result?
Was ist das für ein Dateiformat?
Wie kann ich es nach der Bearbeitung im Display anzeigen?
MfG:P
Woftschik 
-
Erfahrener Benutzer
Fleißiges Mitglied
Kann denn jemand mir keiner helfen?
Vielleicht kann mir jemand zeigen wie ich ein anderen C Code für Analog schreibe.
-
Erfahrener Benutzer
Roboter Genie
result enthält einen integer.
Vermutlich von 0 (für 0V) bis 1024 (für 2,56V) an ADC0
Den kannst du jetzt vergleichen, dividieren, multiplizieren, was dazu addieren etc. pp.
-
Erfahrener Benutzer
Fleißiges Mitglied
Hi BurningBen!
Ich danke dir für die schnelle Antwort.
Du meinst das der result einfach eine normale Variable ist
Wieso heißt es den "" uint16_t result = 0; ""?
Was soll den das uint16_t bedeuten ???
-
Erfahrener Benutzer
Roboter Genie
Da wird die Variable result definiert. Und zwar als unsigned int (ohne vorzeichen) allerdings nur 16 bit lang, statt normalerweise 32bit
-
Erfahrener Benutzer
Fleißiges Mitglied
achso verstehe?
Muss leider jetzt weg. Werde heute abend erst wieder dran sein. Melde nich auch dann wieder.
Danke vorab.!
-
Erfahrener Benutzer
Fleißiges Mitglied
Ok es funktioniert soweit ABER....
ich habe z.B. auf dem Display dann "" 4bc5 "" stehen.
Ist das HEX????
MfG:P
Woftschik 
-
Erfahrener Benutzer
Roboter Genie
hexadezimal glaube ich eigentlich nicht, das wären 19397 in Dezimal
Hast du den Integer vorher in nen String umgewandelt fürs Display?
-
Erfahrener Benutzer
Fleißiges Mitglied
Äh Nein habe ich nicht..
sollte man das?
Wie denn?
-
Erfahrener Benutzer
Fleißiges Mitglied
Ich habe mir das nochmal genauer angeschaut:
Ich denke das ich es doch habe, weil ich folgendes geschrieben habe...
itoa (result, buffer, 16);
lcd_puts(buffer);
es ist so:
result ist ein INT
buffer ist ein char
wenn ich result direkt ausgebe dann zeigt mir das Display verschiedene Zeichen an.
Ich denkemal ich muss das doch irgendwie wandeln, oder nicht?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen