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, > > > 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? > > Mit gemeinsamer Ressource meinte ich z.B. eher Variablen. > Aber ja, das kann auch passieren. Darum sollte der FIFO für die Anwendung ggf. immer > ausreichend groß dimensioniert werden. > Wenn die standardmäßigen 32Byte nicht reichen, muß man eben mit setbuf() den FIFO vergrößern. > > > 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. > > Der Main-Thread in rbports.c2 wird wahrscheinlich bald verschwinden, und durch > entsprechende Funktionen ersetzt. > Die Idee war einmal bei in Kaskade geschalteten Schieberegistern den Schaltzustand sicherzustellen, > da Schieberegister gerade bei nicht kurzem Kabel sehr leicht auf Störungen reagieren können. > Aber das Konzept Schieberegister-Porterweiterungen habe ich prinzipiell verworfen. > (Das war vor der großen "I²C-Bus-Ära" *grins*) > Der Aufbau von rbports.c2 ist daher noch ein Relikt von dieser Zeit. (Auch die Klemmen SH, ST und DS > beim ReglerBoard bis V1.2) > > > 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. > > Gut, bei der Datenmenge können wir aber dennoch von einem Überlaufen des Puffers ausgehen. > Vergrößere einfach den Empfangspuffer auf 2kB: > <code> byte fifo[2048]; > ... > hwcom.setbuf(fifo,2048);</code> > > > 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. > > Prinzipiell wäre das eine Aufgabe für etwas ASM. > Aber Deine Tabellenversion würde mich durchaus interessieren. ;-) > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB