Re: Zugriff auf flash array Kategorie: Programmierung C (von PeterS - 15.08.2009 21:13) | ||
Als Antwort auf Zugriff auf flash array von ER - 14.08.2009 13:00 | ||
| ||
Hallo Ellen, im Handbuch werden für die neue Version 2.1 die Tabellen beschrieben: Tabellen mit vordefinierten Arrays Seit Version 2.0 der IDE können Arrays mit Werten vorbelegt werden: byte glob[10] = {1,2,3,4,5,6,7,8,9,10}; flash byte fglob[2][2]={10,11,12,13}; void main(void) { byte loc[5]= {2,3,4,5,6}; byte xloc[2][2]; xloc= fglob; } Da bei der C-Control Pro Unit mehr Flash als RAM Speicher zur Verfügung steht, kann man mit dem flash Befehlswort Daten definieren, die nur im Flashspeicher stehen. Diese Daten können dann durch eine Zuweisung auf ein Array im RAM mit gleichen Dimensionen kopiert werden. Im Beispiel ist dies: "xloc= fglob". Diese Art der Zuweisung gibt es nicht in normalem "C". Wenn Du noch weitere Fragen hast, werde ich gerne weiterhelfen. Gruss Peter > Hallo zusammen, > > ich habe einen ähnlichen Punkt wie eben beschrieben. > Ich möchte eine Tabelle im flash Speicher hinterlegen und > darauf zugreifen können. Beispiel siehe unten. > Ich möchte keinen RAM Speicher vergeuden. Au�erdem sind die Daten nach Power down weg. > Bei der C Control 1 geht das übrigens mit der Anweisung LOOKTAB(... > > > Gru� > Ellen > > > #ifdef workstation > // ROM Adressen der 12 DS1820 Sensoren: > flash byte matchromadress [8][12] = > {16, 156, 193, 78, 1, 8, 0, 240, > 16, 50, 186, 78, 1, 8, 0, 162, > 16, 188, 150, 96, 1, 8, 0, 231, > 16, 48, 31, 96, 1, 8, 0, 72, > 16, 33, 51, 96, 1, 8, 0, 253, > 16, 94, 93, 96, 1, 8, 0, 242, > 16, 209, 233, 95, 1, 8, 0, 190, > 16, 8, 39, 78, 1, 8, 0, 219, > 16, 111, 186, 202, 1, 8, 0, 17, > 16, 50, 16, 78, 1, 8, 0, 44, > 16, 71, 176, 202, 1, 8, 0, 187, > 16, 209, 170, 202, 1, 8, 0, 121}; > #endif | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum