Forum: Compiler & IDEs ATmega8 + LCD


von Tobias Paul (Gast)


Lesenswert?

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");

von Chris (Gast)


Lesenswert?

> 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.

von Tobias Paul (Gast)


Lesenswert?

Ja ich könnte es ausprobieren.
Aber ich habe das Testboard zur Zeit nicht hier.

von Peter Fleury (Gast)


Lesenswert?

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 !

von Tobias Paul (Gast)


Lesenswert?

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.

von pebisoft (Gast)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

@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.

von Tobias Paul (Gast)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.