Grüß euch! hab ein großes Anliegen an euch! habe diverse seiten schon durchsucht, vorallem dieses forum, aber ich finde nichts was mich weiterbringen könnte. Ich bin totaler Anfänger beim µC programmieren. Ich arbeite mit dem MSP430F149 mit einem 12bit ADC. Ich will Daten (2 Kanäle)permanent digitalisieren und diese dann in einem Buffer, am besten Flash (60kbyte + 256byte), speichern. Wenn 512 byte gespeichert worden sind, sollte dieser Buffer entleert werden bzw. diese Daten auf die miniSD Karte von SanDisk gespeichert werden. Das Problem besteht darin, dass es kein Modul (Direct Memory Access) zur Verfügung steht, das mir die Speicherung vom Memory Register des ADC in den RAM erleichtert. Also müßte ich das händisch erledigen, nur die Frage ist wie? Hat jmd einen bestehenden Code, der mir helfen könnte oder irgendwelche Tipps, die mir das Leben erleichtern können ;). Vielen Dank im voraus lg sylvia
Hallo Sylvia, welche Programmiersprache verwendest Du denn ? Ins Flash schreiben ist nicht ganz so trivial wie z.B. ins RAM. Der Vorgang ist aber im Datenblatt der jeweiligen Familie (MSP430x1xx_Users_guide) beschrieben. Für deine Anwendung scheint es aber keinen Sinn zu machen die Daten im Flash zu speichern. Wenn Du nur zwischenspeichern musst und dann auch nur 512 Byte dann ist der 149er mit 2kb RAM doch prädistiniert die Daten im RAM zu halten. Hier kannst Du ganz einfach mit nem inkrementierenden Zeiger die Bytes vom ADC reinschreiben und entsprechend auslesen. Gruß Martin
Ein Zwischenspeichern im Flash des Controllers ist wie schon erwaehnt wurde, ziemlicher Unsinn. Und zwar auch deshalb weil der Controller dann bald kaputt ist wenn man jedesmal dieselben 512Byte beschreibt. Ansonsten habe ich eine gute Nachricht fuer dich. Wenn du es geschafft hast eine SD/MMC Karte anzusprechen und da Daten drauf abzulegen, bist du keine Anfaengerin mehr. :-] Olaf
danke für eure hilfe ich programmiere in C. hab jetzt meine 2 ADC12MEM Register ins RAM mittels Pointer gespeichert...mal schauen ob es funktionieren wird...sonst meld ich mich bestimmt wieder :-) nochmals danke lg sylvia PS: mal schauen ob ich über den Status Anfänger hinauskommen werde..a zeitl wird schon noch dauern ;)
Moment. Du willst mit Spatzen auf Kanonen schiessen. ;-) > Das Problem besteht darin, dass es kein Modul (Direct Memory Access) > zur Verfügung steht, das mir die Speicherung vom Memory Register des > ADC in den RAM erleichtert. Also müßte ich das händisch erledigen, > nur die Frage ist wie? Du nimmst dir einfach die Werte von ADC12 und speicherst sie im RAM zwischen. Der F149 hat ja 2kb, da gehen 512 Byte folglich rein. Und wenn 512 Byte voll sind, speicherst du sie einfach auf die Karte. Ein Speichern im Flash ist wie schon gesagt nicht sinnvoll, weil du das vielleicht 10000 mal machen kannst und dann dein MSP hin ist. Also sowas wie: for (i=0;i<512;i++) { meineVar1[i]=ADC12MEM0; meineVar2[i]=ADC12MEM1; } SaveToMMC(meineVar1); SaveToMMC(meineVar2); That's it. :-)
Nicht ganz, ich habe im GCC-Forum schon etwas darüber geschrieben. In Deinem Fall gehen möglicherweise Daten während dem Schreiben auf die MMC verloren, Sebastian. Aber es ist schonmal ein Ansatz :) Naja, ich konnte mir halt nicht die Mühe machen, einen kleinen Ringbuffer so eben zu Programmieren und das wäre auch glaube ich nicht der Sinn der Sache gewesen, aber darauf wirds wohl hinauslaufen. Wenn da konkrete Fragen oder Probleme bei auftreten, werd ich natürlich gerne helfen...
Habe ein Programm für MSP 430- 4 Kanäle ADC12, welches Deinen Vorstellungen schon sehr nahe kommt. Der Messvorgang wird vom einstellbaren Timer gestartet. 512 Bytes werden im RAM zwischengespeichert und dann zu einer Smart Mediakarte übertragen. Es kann bestimmt noch verbessert werden und ist auch noch nicht ganz fertig. Aber vielleicht hilft es. Da ich zunächst negative Erfahrungen mit dem ADC12 gemacht hatte, solltest Du vielleicht, wenn nicht schon eigene Erfahrungen vorliegen, im Forum unter http://www.mikrocontroller.net/forum/read-1-90338.html#112989 nachlesen, um ähnliche Fehler, die ich gemacht hatte, zu vermeiden. Da es vermutlich die Smart Media karte bald nicht mehr geben wird, würde ich mich für Dein Programm zum Beschreiben eine SD interessieren. Hast Du dazu schon etwas? MfG Wolfgang
vielen dank für deinen sourcecode, wird ihn mir gleich mal anschauen...werd bzgl sd card noch ein weilchen brauchen, wenn ich soweit bin (kann lange dauern), dann gib ich dir den source lg sylvia
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.