Detta är inget allvarligt problem men har ställt till det med några timmars desperat felsökning.
Detta är upplägget:
Data loggas på en Pic32 och detta sparas i sin tur i en fil. Varje fil innehåller 24timmar data. Efter 24 timmars loggande så skall filen stängas för redigering och sedan skapas en ny fil för nästkommande dag. ex:
dag1.txt, dag2.txt, dag3.txt osv...
Även en informationsfil finns där jag lagrar information om hur många samplingar som gjorts med mera. Som uppdateras varje gång en ny fil skall skapas. Denna filen har givits namnet "File information.txt", alltså ett ganska långt filnamn.
Problemet är att jag inte kan göra filnamn som innehåller siffror som är av en viss längd.
t.ex. så funkar namnen:
D1 till D30 utan problem. Men INTE Day_1.txt till Day_2.txt eller inte ens D1.txt till D30.txt.
Alltså om filnamnen bli för långa och innehåller siffror så funkar det inte.
Det som händer när det "inte funkar" är att systemet helt enkelt slutar göra timer-interrupts och lämnar således filen öppen.
Detta sker på helt olika filnamn ibland funkar det mellan D1.txt fram till D6.txt och ibland från D1.txt till D14.txt. Men ju längre filnamn jag väljer desto tidigare hänger den sig. Har jag filnamnet "Loop_day_1.txt" så hänger den sig direkt då den försöker skapa filen.
Detta är koden som skapar filnamnet och sedan försöker öppna denne:¨
Kod: Markera allt
sprintf(loop_filename_string,"%u",loop_file_current);
pointer = FSfopen (loop_filename_string, "w");