LPT1 steuern direkt über PB ?!
Okay, dann eben den Code nochmal - nix weltbewegendes und nicht viel anders als am Anfang von Posting :
Keinerlei Schnick-schnack ! Übersehe ich da was ?? Lasst es 7x funktionieren von 10 und dann hängts !
Code: Alles auswählen
Procedure Delayus(t.l) ; Rechnerabhängig!
Structure DLong
lowlong.l
hilong.l
EndStructure
DLong=0
hitimefreq.DLong
QueryPerformanceFrequency_(@hitimefreq)
hitimecount1.DLong
hitimecount2.DLong
QueryPerformanceCounter_(@hitimecount1)
Repeat
QueryPerformanceCounter_(@hitimecount2)
Until Int((hitimecount2\lowlong - hitimecount1\lowlong)/(hitimefreq\lowlong/1000000.0))>=t
;Debug "time in µ: " + Str((hitimecount2\lowlong - hitimecount1\lowlong)/(hitimefreq\lowlong/1000000.0))
EndProcedure
If OpenLibrary(0, "InpOut32.DLL")
*out = IsFunction (0,"Out32")
Else
CloseLibrary(0)
End
EndIf
CallFunctionFast(*out,888,0)
For Hin_und_her=1 To 10
For t=1 To 11000 ; nach rechts
CallFunctionFast(*out,888,3)
CallFunctionFast(*out,888,0)
Delayus(2200)
Next
For t=1 To 11000 ; nach links
CallFunctionFast(*out,888,2)
CallFunctionFast(*out,888,0)
Delayus(2200)
Next
Next
CloseLibrary(0)
End
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
Hab zum Test die Hardware-Calls und DLL deaktiviert und mit shared das ganze probiert.
Scheint zu laufen
[Edit] Ohne Shared.. hat die Procedure Delayus() schon bei 2 Durchläufen gehangen. Nach dieser kleinen Änderung macht die Schleife alle 10 Durchgänge
Ich hoffe es klappt jetzt auch mit deiner Portalfräsbank. [/Edit]
Scheint zu laufen
[Edit] Ohne Shared.. hat die Procedure Delayus() schon bei 2 Durchläufen gehangen. Nach dieser kleinen Änderung macht die Schleife alle 10 Durchgänge
Ich hoffe es klappt jetzt auch mit deiner Portalfräsbank. [/Edit]
Code: Alles auswählen
Procedure Delayus(t.l) ; Rechnerabhängig!
Structure DLong
lowlong.l
hilong.l
EndStructure
DLong = 0
Shared hitimefreq.DLong
QueryPerformanceFrequency_(@hitimefreq)
Shared hitimecount1.DLong
Shared hitimecount2.DLong
QueryPerformanceCounter_(@hitimecount1)
Repeat
QueryPerformanceCounter_(@hitimecount2)
Until Int((hitimecount2\lowlong - hitimecount1\lowlong)/(hitimefreq\lowlong/1000000.0))>=t
;Debug "time in µ: " + Str((hitimecount2\lowlong - hitimecount1\lowlong)/(hitimefreq\lowlong/1000000.0))
EndProcedure
;If OpenLibrary(0, "InpOut32.DLL")
; *out = IsFunction (0,"Out32")
;Else
; CloseLibrary(0)
; End
;EndIf
;CallFunctionFast(*out,888,0)
For Hin_und_her.b=1 To 10
For t.l=1 To 11000 ; nach rechts
;CallFunctionFast(*out,888,3)
;CallFunctionFast(*out,888,0)
Debug "Schleife1: " + Str(t)
Delayus(2200)
Next
For t=1 To 11000 ; nach links
;CallFunctionFast(*out,888,2)
;CallFunctionFast(*out,888,0)
Debug "Schleife2: " + Str(t)
Delayus(2200)
Next
Debug "Schleifendurchgang" + Str(Hin_und_her)
Next
:CloseLibrary(0)
End
@Falko : Ahaaaaaaaaa ! DELAYUS() kann der Fehler sein ?? Boah, soll das heißen die grauen Harre habe ich Dir zu verdanken ??
.... okay, dann teste ich mal damit ! Ich hoffe es funzt nun ! Vielen Dank für Deine Mühe !!
.... okay, dann teste ich mal damit ! Ich hoffe es funzt nun ! Vielen Dank für Deine Mühe !!
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
komisch. Hatte den Test vorhin gemacht und alle INPUT-Funktionen rausgenommen. Danach lief der Source nur 1000 Schritte und danach hat sich der Debugger aufgehängt bzw. ohne Meldung angehalten. Nachdem ich das shared eingesetzt hatte, lief er alle 10 Hauptschleifen durch ohne anzuhalten durch. Dachte, es läge daran . Vielleicht finde ich noch was anderes.
Neuer Versuch und falls es klappt würde mich das freuen. Mach mal die Structure aus der Procedure raus. Am Anfang vom Source.
Neuer Versuch und falls es klappt würde mich das freuen. Mach mal die Structure aus der Procedure raus. Am Anfang vom Source.
Tja, genau das passiert hier auch immer - ist etwas ungünstig, wenn gerade die Fräse im Holz hängt ! Naja, ohne Fehlermeldung und sonstwas - habe auch den Debugger an.... ohne trau ich mich noch nicht wirklich, aber evtl ist das die Fehlerquelle ???
Teste erst morgen weiter, weil mein Sohn gerade ins Bett ist und es doch etwas Krach macht !
Bis morgen...
Teste erst morgen weiter, weil mein Sohn gerade ins Bett ist und es doch etwas Krach macht !
Bis morgen...
PB 6.10LTs / Windows 11 64Bit (i9/32GB/ 1TB-SSD+4TB-HDD/3060GTX12GB) / 2x27" Multitouch
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !