ADC einlesen und umwandeln / vergleichen

Gast #412030
Lesenswert?
• ▲
▼
Hallo Leute,
ich versuche die Temperatur mit einem KTY über ADC einzulesen,
ich konvertiere den angekommenen Wert mit:

void lcd_dez(int tmp)
{
    char buffer[10]={0};
    sprintf( buffer, "%d", tmp);

}

Ich benötige lediglich den Temperaturbereich zwischen 90 und 100°C
deshalb ist keine kallibrierung nötig, ich möchte die gemessenen
Temperaturen einfach umwandeln und auf einem LCD ausgeben, etwa so:

if(buffer=="175"){
lcd_write("23.0");
}

Das funkioniert natürlich nicht, kann mir jemand nen Anstoß zur
Umwandlung geben, oder ne Alternative vorschalgen?

Grüße
earlyperl
#412031
Lesenswert?
• ▲
▼
Die Umwandlung mittels sprintf ist durchaus in Ordnung.
sprintf ist zwar eine "teure" Funktion (Speicherverbrauch), aber
wenn du den Speicher hast, was solls. Eine Alternative zu sprintf
wäre zB itoa(), falls dein Compiler die Funktion zur Verfügung
stellst.

Das allerdings
   if( buffer == "175" )

funktioniert nicht. So kann man Strings nicht auf Gleichheit
überprüfen. Das obige ist ein Vergleich ob 2 Pointer den gleichen
Inhalt haben.

So gehts

#inclde <string.h>

...

    if( strcmp( buffer, "175" ) == 0 )
      lcd_write( "23.0" );

Beim Arbeiten mit Strings (Kopieren, Anhängen, Vergleichen, etc)
immer die str... Funktionen benutzen.

Und Bücher kaufen. Das ist das kleine Ein*Eins der C Programmierung.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.