Hallo Kurze Frage Ich will ein int array mit im Speicher des PIC 32 ablegen.. meiner hat 512K Byte.... also will in den Array Sensor daten abspeichern also in etwa int[32000] ={0} (sollte also vom Platz passen ? da mein Programm nicht so groß ist) den größten Array den ich z.Z anlegen kann ist int [8000] ={0}; Wie benütze ich den Speicher.... Gruß RL
hey... const eher für Konstanten die Variablen werden im Laufe des Programms verändert....
Wenn du mal das Datenblatt liest, wird dir auffallen, dass der Programmspeicher 512kb ist. Dein Array kommt aber in den Ram der mit Sicherheit weniger Speicherplatz hat...
Wieso sollen die Daten überhaupt in den Flash? Ich weiß zwar nicht was du vor hast, eventuell könnten aber die max. garantierten E/W Cyles des Flashs ein Problem werden. Ich weiß nicht welchen PIC du hast, beim PIC32MX3XX/4XX z.B. garantiert Microchip 1000 E/W Cycles. Und zudem ist der Programmspeicher ein gutes Stück langsamer als das RAM: Word Write Cycle Time min. 20µs
danke okay .... 2 sehr gute Antowrten vielen Dank ! ja Program Speicher ist um einiges kleiner... 32 K laut Datenblatt gibt es ein speziellen Befehl den Array auf den Programm Speicher zu sichern ? gutes Tutorial ... ? Dieser düfte dann nach dem ein/auschalten wieder da sein.... ist ja Programm Speicher... Schnelligkeit is nicht so wichtig... maximale Schreibzyklen 1000 Stück... hab ich gelesen... dürfte für 3-4 Jahre benützen okay sein.... vorrerst okay... in the nächsten iteration muss ich dann einen Speicher dazu hängen.... Gruß RL
Raph schrieb: > danke okay .... 2 sehr gute Antowrten vielen Dank ! > > ja Program Speicher ist um einiges kleiner... 32 K laut Datenblatt > > gibt es ein speziellen Befehl den Array auf den Programm Speicher zu > sichern ? > gutes Tutorial ... ? Die Routinen dazu sind im Harmony Framework bzw. in der PIC32 Peripheral Library http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en554265 Ohne Libraries ist es in den normalen Docs beschrieben http://ww1.microchip.com/downloads/en/DeviceDoc/61121D.pdf
Du solltest eher externes serielles Flash nehmen. Das hat viel mehr Lösch/Schreibzyklen. zB (es gibt auch noch größere) http://www.microchip.com/wwwproducts/Devices.aspx?product=SST25VF010A Denke aber dran, dass Du nur ganze 4k-Blöcke löschen kannst. Wenn Du es feiner brauchst, nimm einfach ein serielles NVRAM mit Batterie. Das kannst Du byteweise beschreiben, weil es eben RAM ist. http://www.microchip.com/wwwproducts/Devices.aspx?product=23LCV1024 Eine normale CR2032 Knopfzelle an VBat sollte für mindestens 10 Jahre gut sein. Mal nachrechnen: Kapazität einer CR2032 ist 230mAh oder 230000µAh. VBat Current laut Datenblatt 1 µA -> 230000h oder 26 Jahre. Sollte reichen. fchk
Frank K. schrieb: > Eine normale CR2032 Knopfzelle an VBat sollte für mindestens 10 Jahre > gut sein. > Mal nachrechnen: Kapazität einer CR2032 ist 230mAh oder 230000µAh. VBat > Current laut Datenblatt 1 µA -> 230000h oder 26 Jahre. Sollte reichen. > > fchk Wenn Batterie + NVRAM in Frage käme, würde ich stattdessen FRAM einsetzen. Ist zwar u.U. etwas teurer als das NVRAM spart aber Batterie, Batteriehalter etc. pp. http://www.cypress.com/?id=4984
hey danke, ich glabe der Speicher des PIC 32 ist so weit okay.. auch mit geringen Zyklen, das Gerät soll einaml am Tag einen String Speichern .. von dem Herr Okay
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.