Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > Hallo, > > > > > > > > > > ich verwende den Mega128CAN mit SD-Kartenmodul, Display usw. > > > > > Bei meiner Anwendung werden alle 10ms 5 Bytes vom CAN gelesen und mit 5 weiteren Bytes (also > > > > > insgesamt 10 Bytes) in ein geöffnetes File der SD-Karte geschrieben. Das funktioniert auch > > > > > für ein paar Sekunden, dann dauert der Schreibvorgang über 10ms und das gesamte Programm kommt > > > > > durcheiander. Ich vermute das passiert immer wenn 512 Bytes voll sind und der Sektor physikalisch > > > > > geschrieben wird. > > > > > Ich habe den SPI-Bus auf max Datenrate konfiguriert (fosz/4). Damit müssten bei 16MHz 4 kByte/ms > > > > > übertragen werden. Ich habe schon alle möglichen Abläufe mit SDC_FSync (auch nach jedem 10 Byte- > > > > > Paket) versucht. Damit kann ich zwar die Übertragungszeit beeinflussen, komme jedoch nicht unter > > > > > 10ms. > > > > > Es kann doch nicht sein, dass für schlappe 512Bytes mehr als 40kBytes Strukturdaten gesendet werden - > > > > > oder mache ich einen Granatenfehler??? > > > > > > > > > > Ich bin für jede Hilfe dankbar - mir gehen echt die Ideen aus! > > > > > > > > > > Danke im Voraus > > > > > Volker > > > > > > > > > > > > > Hallo Voker > > > > speichere deine Daten doch erst mal im RAM. > > > > Wenn dann mal Zeit ist, können die Daten auf die SD geschrieben werden. > > > > Gruß Daneie > > > > > > Hallo Daneie, > > > > > > danke für den Tip. Es fallen jedoch zu viele Daten für das RAM an: Die Messung muss bis 20Min ohne > > > Unterbrechung funktionieren. D.h. es fallen bei 10Bytes/10ms -> 1kBytes/Sec -> 60kBytes/min -> > > > 1,2MBytes/20Min an. Deshalb kam ich auf die Idee mit der SD-Card. Dass die Datenübertragung so lange > > > dauert hatte ich mir jedoch nicht träumen lassen. > > > Gruß Volker > > > > Hallo, > > > > und wie ist das, wenn man immer 512Byte im RAM sammelt und die Daten in einem thread oder verschickt? > > > > Grüße Joerg > > Hallo, > wie sehen deine Daten aus? > Ändern die sich alle 10ms oder hast du auch 50-mal hintereinander den gleichen Wert. > Wenn das so ist könntest du die Daten komprimieren. > Man kann 50-mal eine Null (50 Byte) senden oder man kann sagen jetzt kommen 50 Nullen (5 Byte). > Das gleiche geht auch mit gleichen Datenfolgen. > Gruß Daneie >