Hallo Gerhard,
gewo hat geschrieben:oft aber nicht immer "hängt" das DCG wenn ich gleich nach dem Einschalten folgendes mache.
ArbMode->OFF -> Encoder "Enter" -> Mode auswählen und merken das Arbitrary Mode nicht eingeschaltet ist also wieder zurück mit back-> Encoder drehen -> Resultat Panel "hängt", LED leuchtet, Optobus blockiert.
Und jetzt hab ich gehofft, Du würdest es nicht merken...
Ich habe mir die Routine, die ich bislang blind codieren mußte, jetzt so umgestrickt, daß ich's auch auf meiner Hardware weitgehend nachstellen kann.
Zu dem Hänger: Es gab da einen Fall, bei dem der Code in einer while-Schleife hängenbleiben konnte, da gibt's jetzt einen Standardausgang mit break. Das war ein Timing-Problem, weil ich die Samples der ISR on-the-fly unterschiebe. Und wenn das erste Sample mal den Zeitwert Null hatte, dann hing's.
Zu den Samples hab ich jetzt folgende Lösung: es gibt für die Standardhardware und die Dual-DAC-Hardware getrennte ROM-Vorlagen. Bei den mit 1ms aufgelösten Samples gibt es immer den Fall, daß "ungerade" Samples übergangen werden. Die Interruptroutine ist auf's korrekte Timing ausgelegt und springt. Wenn ich jedes Sample berücksichtigen würde, dann wäre das Timing daneben.
Für die Standardhardware sollte man bei der Definition eigener Sequenzen nur in 2ms-Schritten vorgehen. Ein 1ms-Raster wird zwar akzeptiert, kann aber unter "Auslassungen" leiden.
Nachtrag:Frage zu den Displayanzeigen im Ripple-Mode: Bist Du Dir sicher, daß die Pascal-FW für`s
DCG schön abwechselt für high und low? Einen passenden Code hab ich nur in der Pascal-FW für
EDL gefunden aber bei DCG nicht. Ich seh aber wahrscheinlich schon den Wald vor lauter Bäumen nicht...
Viele Grüße
Paul
PS: Ich werde nachher einen neuen Versuch einchecken... damit Du wieder Graetz sehen kannst. Aber mit der DualDAC_Hardware sieht's echt besser aus.