Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > Hallo Michael, > > > > Ein Stören der hwcom.receive()-Funktion des Main-Threads in rbports.c2 kann > > ich definitiv ausschließen. > > Es gibt keinerlei gemeinsam Ressourcen, die genutzt werden. > > Gemeinsame Ressource = CPU-Zeit? Könnte es sein, dass der der FIFO des UART oder was auch immer die > Schnittstelle bedient, einfach überläuft, während die CPU gerade einen anderen Thread bedient? > > Ich glaube auch, dass es nicht der eine Thread von rbports ist, sondern irgendein Thread. Der rbports.main tut keine > besonders aufwändigen Dinge, und ich habe noch einen zweiten Thread (der die Tastatur abfragt). Doch das Anhalten > des rbports.main hat die Sache viel stabiler gemacht, und das ist schlicht eine Beobachtung. Übrigens läuft noch immer > ein Anwendungsthread im Hintergrund, und das erklärt auch, warum es einmal noch zu einem fehlenden Byte kam, > trotz der Deaktivierung von rbports.main. > > Worauf ich aufmerksam machen wollte, ist, dass man sich mit dem Einbinden eines Moduls einen aktiven Thread > "einhandelt", von dem man zunächst gar nichts weiß. Das sollte man beim Debugging beachten. > > > Das Problem ist sicher ein anderes. > > Sendest Du größere Datenrahmen in einem Stück, und das mit höherer Baudrate (57.600Bd)? > > Nein, ich nutze 9600 bps und sende einmal etwa 1KiB und dann nochmal 2KiB, beides mit hwcom.receive > entgegengenommen. Vorher kommt jeweils ein Längenwort und ein CRC. > > > Das geht mit Hilfe von <code>hwcom.inbuffercnt()</code>. > > Erst wenn die erwartete Menge an Daten eingetroffen ist, sollte man mit hwcom.receive() > > die Daten einlesen. > > Ich werde die Receive-Funktion in hwcom.c2 dahingehend ändern. > > Gut, das ist ein anderer Weg. Geht sicher auch. > > Ich hab' im Übrigen einen CRC16 geschrieben und zu spüren bekommen, warum man so etwas tabellenbasiert und nicht > bitbasiert tun sollte. Wenn du daran Interesse hast, melde dich. > > Michael
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB