Forum: Compiler & IDEs Probleme mit Array und launchpad lm4F120XL


von Uli B. (theblackraven)


Angehängte Dateien:

Lesenswert?

Hi,

versuche gerade in die arm welt einzusteigen, da ich einen datenlogger 
für mein uni-project basteln will.
Jetzt war eigentlich meine Idee die Werte in einem Array (auf dem SRAM) 
zu speichern, welches aus 1 Spalte besteht ich welcher die Werte des 12 
Bit AD/Wandlers eingetragen werden. Ziel ist eine hohe Abtastrate (am 
liebsten 1000hz und mehr). Gemessen werden sollen Druckschläge mittels 
eines druckmessumformer (Ausgang 0-2,5V). Für den Abtastrate würde ich 
den Timer Overflow nehmen welcher einen Interrupt auslöst. Dann soll der 
aktuelle Wert des AD/Wandlers in die 1. Spalte des Arrays gespeichert 
werden. Da die Messung circa 3 Sekunden gehen soll wären das ja bei 
einer Abtastrate von 1000Hz 3000 Werte.
Würde ich das Array mit uint16_t anlegen wären dies dann 60000byte (also 
knapp unter 6kb). Dann bleibt doch besitmmt noch genug arbeitsspeicher 
für den rest übrig. Das ganze soll gestartet werden sobald der Druck 
über einen bestimmten Wert ansteigt. Nach der Messung sollen diese Werte 
wieder der richtigen zeit zugeordnet werden und über den uart das ganze 
an den computer geschickt werden. Ich habe das ganze mehr oder weniger 
auf einem avr entwicklungsboard mit einem atmega32 probiert. dies hat 
auch einigermaßen funktioniert. allerdings war da mein problem der 
geringe SRAM und ich wollte sowieso eher in die arm welt einsteigen.
allerdings scheitere ich nun schon am Array. dieses wollte ich im 
angehängten Code mittels einer Schleife mal Testhalber erstellen lassen. 
Der Code funktioniert bis zur eine Arraygröße von circa 25 Zeilen. Sind 
es mehr werden keine daten mehr an mein COM terminal am Computer 
gesendet(putty). angeschlossen ist das ganze via usb kabel und 
virtuellen com port. woran liegt das? bei meinem avr hat dies so 
funktioniert.

von Tom M. (Gast)


Lesenswert?

Uli Brugger schrieb:
> aktuelle Wert des AD/Wandlers in die 1. Spalte des Arrays gespeichert
> werden. Da die Messung circa 3 Sekunden gehen soll wären das ja bei
> einer Abtastrate von 1000Hz 3000 Werte.

3 Sekunden für eine Messung, und dann doch 1000x pro Sekunde, wie geht 
das?

> Würde ich das Array mit uint16_t anlegen wären dies dann 60000byte (also
> knapp unter 6kb). Dann bleibt doch besitmmt noch genug arbeitsspeicher
> für den rest übrig.

Was sagt das Datenblatt dazu?

> allerdings scheitere ich nun schon am Array.

Das Matrix-Array?

> Der Code funktioniert bis zur eine Arraygröße von circa 25 Zeilen.

Du meinst Elemente?

> Sind
> es mehr werden keine daten mehr an mein COM terminal am Computer
> gesendet(putty).

Und die TX LED?

von Uli B. (theblackraven)


Lesenswert?

Also das launchpad hat 32 kb sram.

da das launchpad 80MHZ hat und ich hier: 
http://hackaday.com/2013/01/27/turning-the-stellaris-launchpad-into-a-logic-analyzer/
gesehen habe, dass das launchpad als 10MHZ logic analyzer genutzt werden 
kann, dann denke ich dass 1000hz zu loggen möglich sein sollten. der ad 
wandler schafft ja auch 1000ksps. aber 300hz sind untere grenze. 
vielleicht habe ich auch zu wenig ahnung...


ja meine das Matrix-Array. Da ich für mich selber bei einem 
2-dimensionalen Matrix-Array mir das immer zeilen spalten verdeutliche 
hat für mich ein 1-dimensionales Matrix-Array halt auch zeilen mit nur 
einer Spalte :)

die led leuchtet nicht.

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.