Deutsch
Forum

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 für 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
Ladeanzahl107
Herunterladen
 
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. Suche mal danach hier im Forum oder auf meiner Webseite.
 
11.01.2009  
 




GDL
Hi,

über kurz oder lang wirste über 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.

Gruß Rainer
 
Win XP XProfan10
11.01.2009  
 




Frank
Abbing
 
11.01.2009  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.763 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller11.12.2011

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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