LCD mit 2D-Array macht Probleme

Gast #2595332
Lesenswert?

Hallo,
ich habe ein sehr seltsames Problem.

Ich wollte mir ein Programm schreiben, dass Messerte aufnimmt und über 
den LCD ausgibt, nur bleibt die Anzeige des LCDs leer.

Ich habe das Programm durch auskommentieren soweit zusammen gekürzt, 
dass ich das Problem ermitteln konnte.
Es liegt an meinem 2D Array: "volatile uint16_t matrix[20][150];"
Klammere ich dieses aus, funktioniert alles, wie es soll.
Probleme gab es vorher nie, auch nicht bei normalen Arrays.
Kommt ein 2D Array der LCD Routine in die Quere?

Die LCD Routine habe ich hierher (4bit Modus):
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Mikrocontroller: Atmega644
LCD: LCD 162C LED

Der Code (aufs kürzeste zusammengestutzt):
1
#include <avr/io.h>
2
#include "lcd-routines.h"
3

4
volatile uint16_t nameDerMatrix[20][150];
5

6
int main( void )
7
{
8
  lcd_init();
9
  lcd_string("Text");
10
  lcd_setcursor( 0, 2 );
11
  lcd_string("Nochwas");
12

13
  while(1){};
14
  return(0);
15
}

Mfg, Brian
Gast #2595344
Lesenswert?

ich würde mal sagen die Matrix ist 6KByte groß, die passt natürlich 
schelcht in die 4KByte SRAM des 644ers.
Wenn die Matrix nicht erst zur Laufzeit berechnet wird, könnte man die 
in den Flash Speicher legen.
Gast #2595365
Lesenswert?

Ah, vielen Dank!
Ich hätte nicht gedacht, dass ich doch so schnell an die Grenzen des µC 
komme, daher hab ich daran nicht gedacht.
Sie wird leider erst zur Laufzeit aufgenommen, da die Messreihen darin 
zwischengespeichert werden sollen.
Aber dann muss ich Messreihen eben vorher schon auswerten, dass sollte 
auch möglich sein.

Danke nochmal!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren