| 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: | ||
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

