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

Re: Betriebssystem laden Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 30.08.2004 22:21)
Als Antwort auf Re: Betriebssystem laden von smy42 - 25.08.2004 17:40
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Stefan,

> DANKE, funktioniert jetzt endlich!!
> (das mit den libs könnt man auch unsaubere Programmierung nennen, aber seit BillyBoy
> gibts das Wort ja eh nicht mehr hihihi)

Naja, mit dem Programmieren selbst hat das Fehlen von Libs eher nicht zu tuen.
Eher mit einer falschen Annahme von Vorraussetzungen.
Ich konnte schlieÃ?lich nicht ahnen, daÃ? in WinXP weniger DLLs sind, als in
den Vorgängerversionen. ;-)

> Achja, noch nen Kommentar zu der Timeout-Hostmode-Routine:
> Wenn die Station in der
> Timeout-Wartezeit ist, nimmts keinen Hostmode mehr an! (versteh ich zwar nicht warum, aber in
> die inline-codes wollt ich als Anwender nicht unbedingt einsteigen :-)
> Ich hatte da so ein kurzes LED-Lauflicht, da war dann die Aufenthaltswahrscheinlichkeit
> im timeout-wait groÃ?, und da wollt das Ding fast nicht mehr in Hostmode....
> Hab den Host-Timeout auf 10ms gesetzt, das geht trotz kurzem Programm ganz gut.
> (auch unter XP! *grins*)

Ich weiÃ? hier nicht genau, was Du meinst. Poste doch bitte einfach einmal
den Programm-Code bzw. Programmauschnitt, mit dem dies auftritt.

> Das 2. 254 wird doch seltenst zwischen rxd und receive-timeout empfangen, sondern liegt
> ca. (200µs+Windows-Latenz) nach dem 1. 254 bei 57600 (500µs+ bei 19200) im buffer...

Das zweimalige ASCII(254) wird von DL-Tool als eine Datenfolge gesendet.
In den Beispiel-Routinen ist die Wartezeit höher, um sicherzugehen, wenn hier
z.B. Windows nicht ganz mitspielt. Seit WinXP muÃ? man mit soetwas rechnen.
Die Wege es WinXP sind eben unergründlich. Das ist ein Grund, warum ich kein WinXP nutze.

> Ausserdem hab ich da einen unangenehmen Verdacht:
> Hat ein yield (z.B. hwcom 1.4) höhere priorität als ein capture? Das stört dann die Sync der seriellen
>  Schnittstellen-Threads ganz schön...

Yield und Capture sind zwei paar Schuhe, und haben direkt nichts miteinander zu tun.
Ein Capture dient zum Schutz von Ressourcen, damit kein Durcheinander entsteht. (syncronisieren)
Ein Yield gibt die Rechenzeit vorzeitig ab, sodaÃ? alle anderen Threads erst Ihre Anzahl
an VM-Instruktionen (oder falls ein wait, sleep oder yield kommt, bis dahin) abarbeiten,
danach kommt der Thread wieder dran.

Man kann aber ein yield als ein Pseudo-Capture miÃ?brauchen, was ich gerne hin und wieder mache,
wenn nur für wenige VM-Instruktionen ein Thread nicht unterbrochen werden darf.
Dies kann man für bis zu 255 VM-Instruktionen machen.

Bei einem Capture kommt es aber auch innerhalb gecaptureter Routinen zu Threadwechsel !

MfG André H.


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Betriebssystem laden (von smy42 - 2.09.2004 10:41)
    Re: Betriebssystem laden (von André H. - 4.09.2004 9:23)