Italia
Foro

Schleife zu langsam

 

Rainer
Trusch
Ich bin wieder mal bei dem Thema RS232-Schnittstelle.
Ziel ist die Steuerung einer Modellbahnanlage (Weichen, Signale) einer Schule. Die Steuerung sollte wenig kosten und auch per Normalschüler verständlich sein. Digitaltechnik fällt unter diesen Gesichtspunkten aus.
Die unter [...]  gezeigte Schaltung ist verblüffend einfach und ermöglicht die Ansteuerung von theoretisch ..-zig Ausgängen. Der Haken liegt bei meinem Programmversuch darin, dass mit zunehmender Ausgangsanzahl die Sache immer langsamer wird, da die entsprechende Schleife mit jedem zusätzlichen Schaltkreis jeweils acht mal mehr durchlaufen werden muss.
Hat jemand eine Lösung? Entweder andere Programmstruktur oder andere Schaltung?

Vielen Dank

8 kB
Hochgeladen:11.01.2009
Downloadcounter107
Download
 
Win XP XProfan10
11.01.2009  
 




Frank
Abbing
Ersetze mal alle GetFocus durch Clicked. GetFocus brennt sich manchmal fest.

Benutze Operatoren anstelle der Operator-Ersatz-Funktionen. Sowas wie IF @GT(ComHandle&, 1) funktioniert nicht mehr unter XProfan 11 ohne Zusatz-Inc. Then gibt es überhaupt nicht.

Unten steht list% &loop = 0, die Zeile ist fehlerhaft. Jedenfalls ist mir so eine Konstellation nicht bekannt.

Um Geschwindigkeit zu erhalten, könntest du XPIA benutzen. Cerca mal danach hier im Foro oder auf meiner Webseite.
 
11.01.2009  
 




GDL
Hi,

circa kurz oder lang wirste circa ein Protokoll (DCC,mfx,mm oder eigenes nicht hinauskommen).
Ich experimentiere hier seit Jahren rum.
Spätestens bei der ersten Weichenstraße gekoppelt mit Signal und Besetztmelderverriegelung wird es interessant.Und diese Fragen kommen garantiert.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
11.01.2009  
 



Siehe auch Hardwarebastelecke [...] 
 
11.01.2009  
 




Rainer
Trusch
@Clicked funktioniert bei mir nicht.?
Ist auch nicht das Problem. Es ist wirklich diese

whileloop anzahl%,1,-1
@out32 (BasAdr% + 3, @list% (&loop) * 64) Data
@out32 (BasAdr% + 4,1) Clock AN
@out32 (BasAdr% + 4,0) Clock aus
endwhile

blöde Schleife. Bei einer Anzahl, die größer als 16 ist wird es zäh.
 
Win XP XProfan10
11.01.2009  
 




Frank
Abbing
Clicked sollte mit XProfan 10 funktionieren.

Du lädst die Dll auch gar nicht in den Speicher, sodass sie bei jedem Aufruf immer wieder geladen werden muss. Da geht viel Zeit verloren. Siehe einfach mal UseDll.

Die Schleife kannst du beschleunigen, wenn die Dll noch eine Funktion anbietet, die gleich mehrere Werte annimmt (kenne die Dll nicht), oder wenn du deinen Code mit P2Cpp compilierst (kostet), oder wenn du Inline-Assembler benutzt (erfordert zumindest leichte Assembler-Kenntnisse).
 
11.01.2009  
 




Rainer
Trusch
Hurra, erste Erfolge! Erst jetzt habe ich Deine Antwort richtig gelesen. Wenn ich die dll lade, gehts wesentlich schneller!
Vielen Dank.
Ob ich die Assemblersache probiere, weiß ich nicht. Da fehlen mir bestimmt ein paar Windungen und die nötige Zeit.

Saluto Rainer
 
Win XP XProfan10
11.01.2009  
 




Frank
Abbing
 
11.01.2009  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.718 Views

Untitledvor 0 min.
Peter Max Müller11.12.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie