Hallo Leute,
ich vermute einen Fehler in der VDAP2 Firmware.
Bis zu einem bestimmten Punkt läuft die Kommunikation über UART mit
RTS/CTS zum VNC2 ohne Probleme. Dann geht aber RTS dauerhaft auf 1 und
der VNC nimmt keine Daten mehr auf.
Pseudocode:
1 | for(i=0;i<100;i++) //100 Dateien anlegen
|
2 | {
|
3 | createfilename(); //neuen Dateinamen erzeugen
|
4 | fopen(filename); //Datei anlegen
|
5 | bytes_to_write(100000); //Anzahl der zu schreibenden Bytes
|
6 | for(j=0;j<100000;j++) uputc('X'); //100000 Byte schreiben
|
7 | ugetc();ugetc(); //Antwort vom VNC2
|
8 | fclose(filename);
|
9 | }
|
Die Übertragung bleibt meistens bei der 37. Datei stehen während diese
gerade gefüllt wird. Mache ich die Dateien kleiner gibt es keine
Problem. Auch deutlich mehr Dateien zu schreiben funktioniert dann.
1 | for(i=0;i<500;i++) //500 Dateien anlegen
|
2 | {
|
3 | createfilename(); //neuen Dateinamen erzeugen
|
4 | fopen(filename); //Datei anlegen
|
5 | bytes_to_write(1000); //Anzahl der zu schreibenden Bytes
|
6 | for(j=0;j<1000;j++) uputc('X'); //1000 Byte schreiben
|
7 | ugetc();ugetc(); //Antwort vom VNC2
|
8 | fclose(filename);
|
9 | }
|
Alle Antworten vom VNC werden natürlich abgefragt, geben aber keine
Hinweise auf Probleme. Da das ganze mit kleinen Dateien funktioniert
würde ich ein Hardwareproblem ausschließen.
Benutzt jemand von Euch den VNC2 und kann das mal ausprobieren?
Mfg,
Kurt