ATmega8 + LCD

Gast #182172
Also erstens einmal, ich hab es direkt auf Anhieb hinbekommen ein 2x16
char LCD vom Reichelt mit dem ATmega8 und der lib von "peter fleury"
anzusteueren.

Problem Nr.1
Warum zeigt mir WinAVR nicht die Speicherausnutzung des Mega an?
Normal steht doch da immer im Compilerfenster:

1000 byte von 2kbyte belegt
50 % belegt

oder so ähnlich, ich wisst was ich meine.

Problem Nr.2
Wie kann ich mir den Variablen auf dem LCD anzeigen lassen?

geht das so?

int tx=10;
lcd_puts ("tx");
Gast
> geht das so?
>
> int tx=10;
> lcd_puts ("tx");

Da die LCD-Ansteuerung bei dir funktioniert, kannst du dir diese Frage
innerhalb einer Minute selbst beantworten.
Gast
Das das nicht gehen kann, kannst du doch selbst ausprobieren, es gibt
einen compile-Fehler.

C-Grundkurs ?

Bitte lies die Beschreibung zu meiner Lib und schau das Beispiel
test_lcd.c an !
Gast
Hallo Peter,
deine Beschreibung hat mir leider auch nicht weitergeholfen.
Und in der Datei test_lcd.c finde ich auch nicht das was ich suche.
ausser:
Test: Display integer values
wenn du das gemeint hast, aber das hilft mir auch nicht auf die
Sprünge.

Was ist eigendlich mit dem ersten Problem ?
Irgendwo hab ich mal was darüber gelesen, finde aber den Beitrag nicht
mehr.
Gast
int main(void)
{

uint16_t x=0;
char buffer[7];

ADCinit;
ADCprescaler_16;
//Aktivierung des ADC, festlegen eines Prescalers von 16

lcd_init(LCD_DISP_ON);
lcd_clrscr();

while (1)
{
    ADCchannel_1;
    //Aktivierung des Pins , an ihm soll die zu messende Spannung
liegen

    ADCstart;
    //Start einer Konvertierung

    x=getadc();
    itoa( x , buffer, 10);
    lcd_clrscr();
    lcd_puts("Wert: ");
    lcd_puts(buffer);
    }
}

die zahl musst du mit itoa ltoa in ein string umwandeln.
mfg pebisoft
Gast
@pebisoft:
Ich wage beinahe zu bezweifeln, dass ihm das so viel hilft.
Er wird zwar damit ein lauffähiges Programm zustandebringen, aber beim
nächsten Problem gleich wieder nachfragen, weil einfach Grundlagen zu
fehlen scheinen.
Gast
Also wenn ich das jetzt richtig verstanden hab:

//Wert von ADC wird abgefragt und in der Variable x gespeichert
x=getadc();


itoa( x , buffer, 10);
//nun wandle ich mit dem Befehl itoa (); die Variable x in einen String
namens buffer. Und die Zahl 10 ist dann wahrscheinlich die Länge des
String (Zeichenkette) also hier 10 Zeichen.

Nun kann ich den veränderlichen String auf dem LCD ausgeben
lcd_puts(buffer);

Ich hoffe ich habe mal alles richtig gedeutet.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.