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 > Hi Peter > ich habe inzwischen umfangreich Tests durchgeführt um den Fehler einzugrenzen. Leider funktioniert > ein isolierter Beispielcode aus meinem Programm ohne Fehler. Das gesamte Projekt, in welchem sich > der Fehler reproduzieren läßt , ist zu umfangreich um es zum testen einzuschicken. > Aber ich glaube, daß ich den Fehler grob eingerenzen konnte. In der ursprünglichen Version wurden > vom PC kleine Datenpakete von 16 Bytes an das Applcationboard gesendet. Es wurden 10 Pakete > proSekunde mit einer Rate vov 115200 bps geschickt. Damit wurde, wie ich glaube, der Receiver in > der C-Control überfordert. Im internen Datenpuffer der seriellen Schnittstelle wurde anscheinend der > Empfang eines Pakets durch ein neues Paket unterbrochen. Damit ging die Synchronistation verloren, > da mein Empfangsteil im C-Interpreter den Anfang eines Pakets nicht mehr lokalisieren konnte. > Nach dem ich den Sender auf 5 Pakete pro Sekunde verlangsamt habe, war der Fehler verschwunden. > Vielleich könnte man in einer der nächsten Dokumentationsversion ein wenig näher auf die > Schnittstellen eingehen. Die internen Abläufe in der Betriebssystem Software und das Zeitverhalten, > sowie die Grenzwerte wären für den Entwickler von Interesse. Im Augenblick muß ich leider zuviel > rumprobieren. Da die Erfahrung mit der C-Control bei mir fehlt, kummuliert die eigene Unzulänglichkeit > mit der vermeintlich fehlerhaften Hard/Software. Hier würde eine tiefergehende Dokumentation > hilfreich sein. > > Mit freundlichem Gruß, > > TOWSIM > > > Hi, > > > > wie ich hier schon so oft geschrieben habe: Bitte ein möglixhst kleines Beispielprogramm, das den Fehler > > demonstriert, an ccpro@gmx.de schicken. Ich teste dann, ob ein Problem besteht. > > > > Gruss Peter > > > > > Hallo Ortwin, > > > vielen Dank für die Antwort. Ich glaube, ich habe das Problem beheben können. Es war wie immer > > > nicht nur ein Fehler. Meine externe Spannungsversorgung war schlicht zu schwach. Sobald die serielle > > > Schnittstelle aktiv wurde, ist die Spannung soweit abgefallen, daß der Prozessor ein Reset > > > durchgefuehrt hat. Seit ich ein stärkeres Steckernetzteil verwende läuft der Aufbau relativ stabil. > > > Allerdings bin ich gleich an die nächste Grenze gestoßen. Der Spannungsregler auf dem Applkations > > > Bord ist derart schwachbrüstig, daß nur eingeschränkt Peripherie angesteuert werden kann. Ich arbeite > > > mit Modellbau - Servos, die natürlich bei Bewegung Strom ziehen. Sobald ein zweiter Servo > > > angeschlossen wird tritt das Spannungsproblem wieder auf. Aber das ist ein Problem, das behoben > > > werden kann. Wesentlich ernsthafter ist eine Unzulänglichkeit im C Interpreter. Ich habe einen wrap > > > around Buffer eingerichtet, in dem die zu sendenen Bytes fuer die serielle Schnittstelle abgelegt > > > werden. Dazu wird ein Index jeweils incrementiert. Da das Incrementieren sehr oft gebraucht wird, > > > wurde es in eine eigene Routine verlegt. Bei Verwendung der Subroutine steigt der Prozessor > > > nach etwa 5 Sendungen aus. Wird das Incrementieren inline ausgeführt, klappt alles ohne Probleme. > > > Ich habe sorgsam daruf geachtet, daß die zwei laufenden Threads sich nicht ins Gehege kommen. > > > Nur ein Thread verwended die Subroutine. Der andere incrementiert inline. Selbst wenn beide > > > Threads die Subroutine verwenden würden sollte eigentlich nichts passieren denn es werden > > > auschließlich lokale Variable verwendet. > > > Der Fehler konnte bisher nicht lokalisiert werden. Die Überwachung der Indize mit dem Debugger hat > > > kein Ergebnis gebracht. Mich würde interessieren, ob Jemand ähnliche Probleme mit dem > > > C Interpreter gehabt hat. Wenn man einen Fehler kennt, kann man ihn umgehen. > > > > > > Mfg > > > > > > TOWSIM > > > > > > > Hallo TOWSIM > > > > > > > > ich hatte an Anfang die gleichen Probleme, > > > > > > > > probiers einfach mal mit Hyperterminal > > > > > > > > gruß ortwin > > > > > > > > > > > > > Hallo, > > > > > nach einigen Versuchen ist es mir gelungen auf einem Windows XP System eine stabile serielle > > > > > Sende und Empfangsroutine zu implementieren. Es wird im overlapped Mode gearbeitet damit das > > > > > Programm nicht im Device Treiber hängen bleibt. Das Applikations Board zeigt jedoch ein > > > > > seltsames Verhalten. Mit einer positiven SW1 Abfrage wird ein immer gleicher Datensatz von 12 > > > > > Bytes an den PC gesendet und dort in einem Window zur Anzeige gebracht. Nach dem 10 Transfer > > > > > verabschidet sich das C-Control Programm. Entweder es hängt oder es beendet sich wortlos. > > > > > Das Programm auf dem PC bleibt stabil und nimmt ohne Restart wieder Kontakt zum C-Control > > > > > auf. Da der Debugger ein wenig rachitisch ist, kann man dem Fehler nicht auf die Spur kommen. Ich > > > > > vermute, dass irgendwo ein Speicherbereich überschrieben wird. Hat Jemand schon etwas ähnliches > > > > > erlebt und eine Ursache gefunden? Oder hat jemand ein C Code Snippet für eine stabile Verbindung > > > > > zum PC ? > > > > > > > > > > MfG > > > > > TOWSIM > > > > >