Re: 2.12.06 Bug bei der SD-Karte Kategorie: IDE (von Christian - 26.12.2010 19:13) | ||
Als Antwort auf 2.12.06 Bug bei der SD-Karte von Christian - 26.12.2010 18:54 | ||
| ||
> Hallo, > ich habe folgendes Problem bei der SD-Karte. > Wenn ich die C-Control mit dem Powerschalter einschalte oder Reset Taster drücke, > dann bekomme ich immer beim öffnen der Datei die Rückmeldung "WRITE_PROTECTED" > und dadruch beim schreiben den Fehler "INVALID_OBJECT". > Starte ich mein Programm aber jetzt aus der IDE mit dem "Blitz-Button / Programm starten), gibt > es keine Fehler. Das passiert aber nur, wenn die Datei schon vorhanden. > Mit der vorgelagerten Funktion SDC_GetFree gibt es aber keine Probleme. > > Den SS (Slave-Select) habe ich auf B4 gelegt, da ich später noch ein SPI-Gerät ansteuern möchte. > nocht nicht eingebunden) > > > Main > ... > SPI_Disable() > > Port_DataDirBit(13,1) 'PortB.5 = 13 als Ausgang = CS - SD Card > Port_DataDirBit(14,1) 'PortB.6 = 14 als Ausgang = CS - 2. SPI > > SPI_Init_Byte = 80 '3,6 Mhz > SPI_Enable(SPI_Init_Byte) > > Port_WriteBit(13,1) 'PortB.5 = CS - SD Card - 0 = selected Slave > Port_WriteBit(14,1) 'PortB.6 = CS - 2. SPI - 0 = selected Slave > > Do While True 'Endlosschleife > > If Timer1_cont = 0 Then > > 'Timer1_cont wird in der 10ms Interruptrotine herruntergezählt Timer2 > Timer1_cont = 1000 '1000 * 10 ms = 10 sek > > 'SPI select Slave > Port_WriteBit(13,0) 'PortB.5 = CS - SD Card - 0 = selected Slave > Port_WriteBit(14,1) 'PortB.6 = CS - 2.SPI - 0 = selected Slave > > SD_Karte_schreiben_Vorbereitung() > > If Port_ReadBit(13) <> 0 Then > Thread_Delay(1) > End If > > SD_Karte_Freigabe = 1 > > SD_Karte_Init() > > If SD_Karte_vorhanden = 1 Then > SD_Karte_getfree() > If SD_Karte_vorhanden = 1 Then > SD_Karte_Schreibvorgang = 1 > SD_Karte_Dateiordner_erstellen() > SD_Karte_Datei_oeffnen() > SD_Karte_schreiben() > SD_Karte_FSync() > SD_Karte_schliessen() > End If > End If > > > 'SPI select Slave > Port_WriteBit(13,1) 'PortB.5 = CS - SD Card - 0 = selected Slave > Port_WriteBit(14,1) 'PortB.6 = CS - 2.SPI - 0 = selected Slave > > End While > > > Gruss Christian Ich habe nochmal einwenig getestet. Das Problem tritt auch bei leerer SD-Karte auf. Wenn eine neue Datei erzeugt werden soll. Gruss Christian | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum