www.mikrocontroller.net

Forum: Compiler & IDEs ATmega8 + LCD


Autor: Tobias Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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");

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias Paul (Gast)
Datum:

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

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: Tobias Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.