Re: Beschleunigung des Lesens von Eingängen Kategorie: Programmierung Basic (von SvenA - 23.04.2013 20:28) | ||
Als Antwort auf Beschleunigung des Lesens von Eingängen von Jan - 21.04.2013 19:07 | ||
| ||
> Hallo User, > > ich frage in einem zeitkritischen Programm die 8 Eingänge eines Ports einzeln ab, da ich die Bits > unabhängig voneinander als Bedingung benötige. Wird es zu einer Beschleunigung des Programmes führen, > wenn ich stattdessen den Wert des Ports lese und danach für die 8 Bedingungen die Werte der jeweiligen > Bits per Bitschiebefunktion ermittle? Oder kompensiert diese Berechnung die Zeitersparnis beim Lesen > wieder? > > Viele Grü�e, Jan Hallo Jan, im Manual selbst steht dazu Port Bit Zugriffe sind immer deutlich langsamer als die normalen Port Zugriffe die 8 Bit transferieren. Wenn man den gewünschten Wert aller Bits eines Ports kennt, sollte man immer 8-Bit Zugriffe machen. Ich gehe von aus das du vermutlich die BitWerte im Anschluss durch If then o.�. bestimmte Aktionen zuordnest. Du kannst ja das Portbyte in diesen Abfragen durch logisches Maskieren (or, And, xor) && logisches Und 1 && 1 = 1 5 && 0 = 0 || logisches Oder 0 || 0 = 0 1 || 0 = 1 nur zur besseren veranschaulichung, portbyte = Port_Read(1) if Portbyte && 1 then machLed1_an else machLed1_aus if Portbyte && 2 then bit1=1 else bit1=0 if Portbyte && 4 then bit2=1 else bit2=0 if Portbyte && 8 then bit3=1 else bit3=0 if Portbyte && 16 then bit4=1 else bit4=0 if Portbyte && 32 then bit5=1 else bit5=0 if Portbyte && 64 then bit6=1 else bit6=0 if Portbyte && 128 then bit7=1 else bit7=0 hoffe es hilft dir weiter | ||
Antwort schreiben Antworten: Re: Beschleunigung des Lesens von Eingängen (von Jan - 23.04.2013 20:41) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum