Forum: Compiler & IDEs Problem mit Textausgabe an UART


von Max (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich habe ein problem mit einem c programm und zwar folgendes
ich habe einen Atmega 168 der mir per UART nach drücken eines tasters
einen text aus geben soll der dan auf einem 320x240 LCD wieder gegeben
wird.

Und nun zum problem,
Bis das ich text4 ein gefügt hatte funktionierte alles einbahnfrei  die 
Seiten konnten nacheinander aufgerufen werden
aber jetzt sendet das programm als start seite folgendes
uartPutChar (0x0c);
uartPutChar (0x09);
uartPutChar (0x30);
uartPutChar (0x0c);
bis hier ja soweit richtig dan aber sendet er
(r copy goods for which the ) etc.
hat einer eine Idee wo der Fehler ist???
schon mal ein DANKESCHÖN,
Gruß,
Max

von Stefan E. (sternst)


Lesenswert?

Was wird denn beim Compilieren am Ende für die RAM-Auslastung angezeigt? 
Ich wette, du hast bei den ganzen Strings das Ende der Fahnenstange 
erreicht. Du musst die Strings ins Flash packen.

von Max (Gast)


Lesenswert?

danke für deinen tip,
mein programmer zeigt an das er 2512 bytes ins flasch gerschrieben hat.

habe selber aber nicht soviel ahnung vom programmieren des halb währe es 
nett wen du mir nen tip geben würdest wie man die strings im flasch 
spiechert dachte nämlich das das sowieso so währe.

von Karl H. (kbuchegg)


Lesenswert?

Max schrieb:
> danke für deinen tip,
> mein programmer zeigt an das er 2512 bytes ins flasch gerschrieben hat.

Das ist nicht der interessante Wert.
Interessant ist der Wert, den du unter Data wieder findest. Und den Wert 
gibt dir die Entwicklungsumgebung nach dem Compilieren. (Zumindest 
AVR-Studio macht das)

von Karl H. (kbuchegg)


Lesenswert?

Max schrieb:

> nett wen du mir nen tip geben würdest wie man die strings im flasch
> spiechert dachte nämlich das das sowieso so währe.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29

von Max (Gast)


Lesenswert?

ja danke toll!
keiene ahnung wie mir das weiter helfen soll
[[http://www.mikrocontroller.net/articles/AVR-GCC-Tu...]]
ein Profi kann das,
Max schrieb:
> habe selber aber nicht soviel ahnung vom programmieren

geht das nicht 2 bis 3 Nummern leichter?
weil damit komm ich gar nicht zurecht!!!!

von Karl H. (kbuchegg)


Lesenswert?

Max schrieb:
> ja danke toll!
> keiene ahnung wie mir das weiter helfen soll
> [[http://www.mikrocontroller.net/articles/AVR-GCC-Tu...]]
> ein Profi kann das,

Sorry.
Aber dazu muss man nun wirklich kein Profi sein. Es hilft aber, wenn man 
weiß was man tut. Zb in der String Ausgabefunktion.

1
void uartPutString_P(char *buffer)
2
{
3
  char c;
4
5
  c = pgm_read_byte( buffer++ );
6
  while( c != '\0' ) {
7
    uartPutChar( c );
8
    c = pgm_read_byte( buffer++ );
9
  }
10
}
11
12
...
13
14
15
   uartPutString_P( PSTR( "  THIS IS " ) );

von Max (Gast)


Lesenswert?

hi,

habe gerade das Programm ab geändert und es funktioniert jetzt super
wollte mich für deine Hilfe vielmals bedanken.

Danke für deine Hilfe gruß,

max

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.