INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Binärdaten auf SD-Karte schreiben
14.03.2020, 15:18 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2020 15:19 von ingo46.)
Beitrag #17
RE: Binärdaten auf SD-Karte schreiben
Hallo Tommy,

habe alles probiert, aber es gibt ein Problem:

meine Batch-Datei
(13.03.2020 20:46)Tommy56 schrieb:  
Code:
::@echo off
set filename=%1%
for %%F in (%filename%) do set groesse=%%~zF
for %%F in (%filename%) do set name=%%~nxF

echo %name%;%groesse%
MODE COM39:9600,N,8

echo %name%;%groesse% > \\.\COM39:

Datei heisst bild.bat und ist in dem Ordner, in dem auch die Bilddatei test.bmp steht.

Die Zeile: echo %name%;%groesse% liefert das Gewünschte.

Bei der nächsten Zeile wird nichts übertragen, der Arduino macht einen Reset!

Gebe ich ein: echo test.bmp;7825 > \\.\COM39:

so werden beide Werte korrekt übertragen - ich stehe vor einem Rätsel.

Vieleicht hast du eine Idee
Code:
// TestProgramm: Seielle Übergabe

#include <TFT_HX8357.h>
TFT_HX8357 tft = TFT_HX8357();

void setup() {
  Serial.begin(9600);

  tft.begin();
  tft.setRotation(3);
  tft.setTextFont(2);
  tft.setTextSize(1);

  tft.fillScreen(TFT_BLACK);

  tft.setTextColor(TFT_WHITE, TFT_BLACK);
  tft.setCursor(10,40,4); tft.println("START");
}  

void loop()
{
  if (Serial.available()) {  tft.write(Serial.read());  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2020, 15:24
Beitrag #18
RE: Binärdaten auf SD-Karte schreiben
MODE COM39:9600,N,8
sollte auch
MODE \\.\COM39:9600,N,8
sein.

Ich würde auch 9600 nach 115200 ändern (auf beiden Seiten).

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2020, 18:19
Beitrag #19
RE: Binärdaten auf SD-Karte schreiben
Hallo,
bin vom Einkaufen zurück und habe gleich einen Test gemacht:

(14.03.2020 15:24)Tommy56 schrieb:  MODE COM39:9600,N,8
sollte auch
MODE \\.\COM39:9600,N,8
sein.

Jetzt bekomme ich die Fehlermeldung:

...MODE \\.\COM39:9600,N,8
Unzulässiger Parameter - \\.\COM39:9600,N,8

geändert habe ich die MODE-Einstellung, da du in #13 geschrieben hast:

Code:
Code:
MODE COMx:115200,N,8
COPY file.zip COMx: /B

Gruß
Ingo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2020, 20:22
Beitrag #20
RE: Binärdaten auf SD-Karte schreiben
Die Ursache für den Reset habe ich gefunden:

Der Befehl: MODE COMx:9600,N,8

führt zum Reset des Arduinos!!

Ingo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2020, 21:31 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2020 21:33 von Tommy56.)
Beitrag #21
RE: Binärdaten auf SD-Karte schreiben
Code:
mode COM31 baud=115200 parity=n data=8 dtr=off
Quelle

Gruß Tommy

Edit: Ansonsten installiere Dir mal usbdeview und lösche die alten USB/Com-Verbindungen, um wieder < 10 zu kommen

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.03.2020, 15:08
Beitrag #22
RE: Binärdaten auf SD-Karte schreiben
Mit dem letzten Teil ist das Problem gelöst:

Mein Code um ein Binärfile auf die SD-Karte zu schreibem:
Code:
if (SD.exists(bildName)) { SD.remove(bildName); }
myFile = SD.open(bildName, FILE_WRITE);
i = TAB_x; y = HS_y+Z_ab*6;   // Position Fortschrittsleiste
        
tft.setCursor(TAB_x , HS_y+Z_ab*5,4); tft.print(F("Bild-Datei starten:"));
        
do {  
      if (Serial.available()) {
          in = Serial.read();
          myFile.write(in);
          z++;

          // Ausgabe Fortschrittsleiste (1 Punkt/Block)
          if (z%512==0) {tft.setCursor(i,y); tft.print(F(".")); i+=v;}
       }
} while(z < bildGroesse);
myFile.close();

Etwas eleganter könnte noch die Endabfrage werden:
while(z < bildGroesse);

Ich suche da noch etwas, wie: while( in != EOL) . Leider hat diese Abfrage noch nicht funktioniert.

Gruß
Ingo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.03.2020, 17:14
Beitrag #23
RE: Binärdaten auf SD-Karte schreiben
EOF gibt es nur beim direkten Filezugriff.

Funktioniert jetzt die Übertragung von Windows aus?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.03.2020, 20:53
Beitrag #24
RE: Binärdaten auf SD-Karte schreiben
Hallo,

(15.03.2020 17:14)Tommy56 schrieb:  EOF gibt es nur beim direkten Filezugriff.

Funktioniert jetzt die Übertragung von Windows aus?

Ich habe eine 8k Bilddatei übertragen, das Bild konnte ich anschließend anzeigen.

In der Batch-Datei habe ich MODE COMx:9600,N,8 durch MODE COMx ersetzt und an den Anfang gesetzt. Jetzt sehe ich, ob die Einstellungen stimmen, ohne Reset.

Wenn ich auf der Arduino-IDE den seriellen Monitor aufrufe wird ja auch ein Reset ausgeführt. Kann man diesen Reset einfach unterdrücken?

ECHO %name%:%groesse% ... hatte ich zum Testen in eine Datei umgeleitet und dann mit COPY ... aufgerufen.

Habe ich so gelassen - man kann so leicht die Übergabe kontrollieren.

Die Umstellung der Geschwindigkeit habe ich noch nicht getestet, denn ich übergebe jede Sekunde Messwerte an LOGVIEW (da müsste auch die ini-Datei wieder angepasst werden) und der Mega komuniziert seriell mit einem Nano.

Die Übertragungszeit liegt bei 8K bei weniger als ca. 20 Sekunden.

z.Z. ist in Planung das Abfahren einer Throttel-Kurve von einem realen Flug.
Bandbreite 24 Volt bis 40 Ampere. Damit kann ich eine reale Akkubelastung testen.

Gruß
Ingo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  BME280 auf SD Karte loggen atmel900 15 489 29.01.2021 15:50
Letzter Beitrag: Tommy56
  Daten zeilenweise von SD-Karte lesen Karl Stanger 3 321 06.01.2021 13:00
Letzter Beitrag: Tommy56
  Variable mit Werten von SD-Karte füllen DO3GE 16 2.115 14.04.2020 19:38
Letzter Beitrag: Corvus
  SD shield / Kein Zugriff auf Karte Ernie70 33 3.950 10.01.2020 18:06
Letzter Beitrag: Tommy56
  Schreiben von Arduino Nano auf SD Karte mit 80 Hertz Joshua_Gunjah 8 1.796 27.11.2019 18:43
Letzter Beitrag: Tommy56
  SD-Karte Ersten und Letzten wert anzeigen Luis90 1 1.005 12.11.2019 12:23
Letzter Beitrag: Tommy56
  Scatch schreiben. lucibad 5 1.335 12.09.2019 12:10
Letzter Beitrag: Chopp
  SD Karte sicher entfernen Peter05 6 1.834 28.06.2019 22:42
Letzter Beitrag: GuaAck
  SD-Karte immer 1. Datensatz in Datei überschreiben FritzHelmut 9 3.200 25.01.2019 14:04
Letzter Beitrag: Tommy56
Smile Punktestand von einem Arduino in eine Access Datenbank schreiben ThePhil 8 2.967 16.07.2018 22:24
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste