Hallo zusammen, ich möchte mit meinem MSP430f5529 Dateien (config.txt) zeilenweiße auslesen und die jeweiligen Zeilen als Variabe speichern. Das soll so aussehen (die Werte in Klammer dienen nur der Illustration): 1. Zeile 1 (Modus) 2. Zeile 100 (Intervall) 3. Zeile Bsp. (Stelle) Diese Werte sollen dann als Variable gespeichert werden damit. Über die config.txt werden Einstellungen des mC vorgenommen. In meinem Fall der Messmodus, der Messintervall und die Messstelle. Die Datei befindet sich auf einer SD-Karte. Da ich mit C noch sehr am Anfang stehe habe ich nun meine Probleme. Die Anbindung des MSP an die SD ist schon vorhanden. Ich kann die config.txt anzeigen und deren Inhalt lesen. Mein Problem besteht jetzt darin die Zeilen getrennt als Variablen anzulegen. Habe auch schon mit Google nach einigen Beispielen geschaut aber noch nichts passendes gefunden. In einem Beispielprogramm kann wie bereits erwähnt .txt Dateien auf dem LCD anzeigen lassen. Das Problem für mich ist einfach wie ich die einzelnen Zeilen als Variable speichern kann um diese später im Programm zu benutzen. Im Beispielprogramm läuft die Anzeige der entsprechenden Datei so ab: void ActiveFile(void) { uint8_t index = 0, position = 0; char screen[136]; //display first screen strncpy(screen, buff + index, 136); //we can fit 136 characters on our screen Dogs102x6_clearScreen(); Dogs102x6_stringDraw(0, 0, screen, DOGS102x6_DRAW_NORMAL); while (!buttonsPressed) { position = Wheel_getPosition(); if ((position == 7) && (buff[index + LINE_SIZE] != 0)) //scroll down, if possible { index += 17; //move screen down one line strncpy(screen, buff + index, 136); //we can fit 136 characters on our screen Dogs102x6_clearScreen(); Dogs102x6_stringDraw(0, 0, screen, DOGS102x6_DRAW_NORMAL); __delay_cycles(1500000); //delay for user to see scrolling } else if ((position <= 1) && (index != 0)) //scroll up, if possible { index -= 17; //move screen up one line strncpy(screen, buff + index, 136); //we can fit 136 characters on our screen Dogs102x6_clearScreen(); Dogs102x6_stringDraw(0, 0, screen, DOGS102x6_DRAW_NORMAL); __delay_cycles(1500000); //delay for user to see scrolling } } } Die Ansteurung des LCDs ist nicht wichtig, auch die Benutzung des Rädchens zum Scrollen ist natürlich für mich Uninteressant. Habe jetzt ein wenig meine Bücher gewälzt und finde leider nichts über strncpy, bzw. wie ich dies zu Behandeln habe. Nun habe ich das hier mal geschrieben (das öffnen der Datei fehlt hier noch): void load(); { char Modus[2] char Intervall[4] char Stelle[60] strncpy(Modus, buff + index, 1); strncpy(Intervall, buff + index, 4); strncpy(Stelle, buff + index, 60); ................................................. } Die Frage ist jetzt durch was ich buff + index ersetzen soll und wie ich die Werte dann als Variable speichern kann. Die Werte in der Eckigenklammer beschreiben mir ja die Länge der einzelnen Zeilen bzw. was davon gelesen werden soll oder? Das selbe gilt dann natürlich auch für strncpy oder? Wie gesagt bin noch am Anfang und habe noch einige Probleme wäre wirklich sehr net wenn mir jemand ein paar Tipps geben könnte. Auch für Buchtipps wäre ich dankbar, habe zwar schon ein paar Bücher aber so richtig wohl fühle ich mich mit diesen noch nicht! Bin für jede Antwort dankbar!
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.